using CoreConnect.Commerce.Cart;
using CoreConnect.Plugins;
namespace CoreConnect.Commerce.Hooks;
public class AfterCreateCart : ICommand<CartResponse>
public required CreateCartRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeAddCartLineItems : ICommand<AddCartLineItemsRequest>
public required AddCartLineItemsRequest Request { get; set; }
public class AfterAddCartLineItems : ICommand<CartResponse>
public required AddCartLineItemsRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeRemoveCartLineItem : ICommand<RemoveCartLineItemRequest>
public required RemoveCartLineItemRequest Request { get; set; }
public class BeforeRemoveCartLineItems : ICommand<RemoveCartLineItemsRequest>
public required RemoveCartLineItemsRequest Request { get; set; }
public class AfterRemoveCartLineItem : ICommand<CartResponse>
public required RemoveCartLineItemRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class AfterRemoveCartLineItems : ICommand<CartResponse>
public required RemoveCartLineItemsRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeUpdateCartLineItem : ICommand<UpdateCartLineItemRequest>
public required UpdateCartLineItemRequest Request { get; set; }
public class AfterUpdateCartLineItem : ICommand<CartResponse>
public required UpdateCartLineItemRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeCartUpdate : ICommand<CartUpdateRequest>
public required CartUpdateRequest Request { get; set; }
public class AfterCartUpdate : ICommand<CartResponse>
public required CartUpdateRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeClearCart : ICommand<ClearCartRequest>
public required ClearCartRequest Request { get; set; }
public class AfterClearCart : ICommand<CartResponse>
public required ClearCartRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeReplaceCartLineItem : ICommand<ReplaceCartLineItemRequest>
public required ReplaceCartLineItemRequest Request { get; set; }
public class BeforeReplaceCartCustomLineItem : ICommand<ReplaceCartCustomLineItemRequest>
public required ReplaceCartCustomLineItemRequest Request { get; set; }
public class AfterReplaceCartLineItem : ICommand<CartResponse>
public required ReplaceCartLineItemRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class AfterReplaceCartCustomLineItem : ICommand<CartResponse>
public required ReplaceCartCustomLineItemRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeApplyCodeDiscount : ICommand<CartApplyDiscountCodeRequest>
public required CartApplyDiscountCodeRequest Request { get; set; }
public class AfterApplyDiscountCode : ICommand<CartResponse>
public required CartApplyDiscountCodeRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeRemoveCodeDiscount : ICommand<CartRemoveDiscountCodeRequest>
public required CartRemoveDiscountCodeRequest Request { get; set; }
public class AfterRemoveDiscountCode : ICommand<CartResponse>
public required CartRemoveDiscountCodeRequest Request { get; set; }
public required CartResponse Data { get; set; }
public class BeforeGetDiscountCodeDiscount : ICommand<CartGetDiscountByIdRequest>
public required CartGetDiscountByIdRequest Request { get; set; }
public class AfterGetDiscountCode : ICommand<string>
public required CartGetDiscountByIdRequest Request { get; set; }
public required string Data { get; set; }