public ProcessSubscriptionPurchase_Override(Lazy <IProductUtilities> productUtilities, IPricingPipeline pricingPipeline, IOrderLineUtilities orderLineUtilities, ICartPipeline cartPipeline) { this.productUtilities = productUtilities; this.pricingPipeline = pricingPipeline; this.orderLineUtilities = orderLineUtilities; this.cartPipeline = cartPipeline; }
public RemoveCartLineHandler_Brasseler(ICartPipeline cartPipeline, IPricingPipeline PricingPipeline, IHandlerFactory HandlerFactory, IPromotionEngine promotionEngine) { this.cartPipeline = cartPipeline; this.pricingPipeline = PricingPipeline; this.HandlerFactory = HandlerFactory; this.PromotionEngine = promotionEngine; }
public AddFreeProduct_Brasseler(ICartPipeline cartPipeline, IOrderLineUtilities orderLineUtilities, IPricingServiceFactory pricingServiceFactory, ICustomerOrderUtilities customerOrderUtilities, IUnitOfWorkFactory unitOfWorkFactory, IPricingPipeline PricingPipeline, IPromotionAmountProvider promotionProvider, InventorySettings inventorySettings, Lazy <IInventoryPipeline> inventoryPipeline, IProductUtilities productUtilities) : base(PricingPipeline, promotionProvider) { this.CustomerOrderUtilities = customerOrderUtilities; this.UnitOfWork = unitOfWorkFactory.GetUnitOfWork(); this.pricingPipeline = PricingPipeline; this.ProductUtilities = productUtilities; this.CartPipeline = cartPipeline; this.OrderLineUtilities = orderLineUtilities; this.InventorySettings = inventorySettings; this.InventoryPipeline = inventoryPipeline; }
public SubmitCart_Brasseler(Lazy <IPromotionEngine> promotionEngine, Lazy <IProductUtilities> productUtilities, Lazy <ICartOrderProviderFactory> cartOrderProviderFactory, ICustomerOrderUtilities customerOrderUtilities, ICartPipeline cartPipeline, ShippingGeneralSettings shippingGeneralSettings, RfqSettings rfqSettings, IPricingPipeline pricingPipeline, OrderManagementGeneralSettings orderManagementGeneralSettings, CustomSettings customSettings) { this.promotionEngine = promotionEngine; this.productUtilities = productUtilities; this.cartOrderProviderFactory = cartOrderProviderFactory; this.customerOrderUtilities = customerOrderUtilities; this.cartPipeline = cartPipeline; this.shippingGeneralSettings = shippingGeneralSettings; this.rfqSettings = rfqSettings; this.pricingPipeline = pricingPipeline; this.orderManagementGeneralSettings = orderManagementGeneralSettings; this.customSettings = customSettings; }
public UpdateCartCreateSSOrder(ICustomerOrderUtilities customerOrderUtilities, IOrderLineUtilities orderLineUtilities, ICartPipeline cartPipeline, Lazy <IPromotionEngine> promotionEngine, IPricingPipeline pricingPipeline, OrderManagementGeneralSettings orderManagementGeneralSettings, ICurrencyFormatProvider currencyFormatProvider, Lazy <IEntityTranslationService> entityTranslationService, Lazy <IEmailService> emailService, Lazy <IProductUtilities> productUtilities, Lazy <IInventoryPipeline> inventoryPipeline, InventorySettings inventorySettings, Lazy <ITranslationLocalizer> translationLocalizer, CustomSettings customSettings) { this.CustomerOrderUtilities = customerOrderUtilities; OrderLineUtilities = orderLineUtilities; CartPipeline = cartPipeline; this.PromotionEngine = promotionEngine; this.PricingPipeline = pricingPipeline; this.OrderManagementGeneralSettings = orderManagementGeneralSettings; this.CurrencyFormatProvider = currencyFormatProvider; this.EmailService = emailService; this.ProductUtilities = productUtilities; this.inventoryPipeline = inventoryPipeline; this.inventorySettings = inventorySettings; this.translationLocalizer = translationLocalizer; EntityTranslationService = entityTranslationService; this.customSettings = customSettings; }
public SubscriptionSubmitPostProcessor(IHandlerFactory HandlerFactory, IUnitOfWorkFactory unitOfWorkFactory, ICartService cartService, IPricingPipeline PricingPipeline, Lazy<IntegrationJobSchedulingService> IntegrationJobSchedulingService, IPromotionEngine promotionEngine, ICustomerOrderUtilities customerOrderUtilities, IOrderLineUtilities OrderLineUtilities, ICartPipeline cartPipeline, Lazy<IEmailService> emailService, IEmailTemplateUtilities emailTemplateUtilities, IContentManagerUtilities contentManagerUtilities, CustomSettings customSettings) { this.HandlerFactory = HandlerFactory; this.UnitOfWork = unitOfWorkFactory.GetUnitOfWork(); this.unitOfWorkFactory = unitOfWorkFactory; this.CartService = cartService; this.pricingPipeline = PricingPipeline; this.IntegrationJobSchedulingService = IntegrationJobSchedulingService; this.promotionEngine = promotionEngine; this.CustomerOrderUtilities = customerOrderUtilities; this.OrderLineUtilities = OrderLineUtilities; CartPipeline = cartPipeline; this.updateCartResult = new UpdateCartResult(); //BUSA-1076 -(Moved from local to Global) Send Email Notification for SS Failure when triggered form admin console this.EmailService = emailService; this.EmailTemplateUtilities = emailTemplateUtilities; this.ContentManagerUtilities = contentManagerUtilities; this.CustomSettings = customSettings; }
public CustomerOrderUtilities_Brasseler(IUnitOfWorkFactory unitOfWorkFactory, Lazy <IPromotionAmountProvider> promotionAmountProvider, Lazy <IOrderLineUtilities> orderLineUtilities, Lazy <IProductUtilities> productUtilities, TaxesSettings taxesSettings, GiftCardsSettings giftCardsSettings, IPricingPipeline pricingPipeline, ICartPipeline cartPipeline) : base(unitOfWorkFactory, promotionAmountProvider, orderLineUtilities, productUtilities, taxesSettings, giftCardsSettings, pricingPipeline, cartPipeline) { }
public CreateGetCartLineResults_Override(ICartPipeline cartPipeline) { this.cartPipeline = cartPipeline; }
public GetCartHandler_Properties(ICartOrderProviderFactory cartOrderProviderFactory, ICartPipeline cartPipeline, IEntityTranslationService entityTranslationService) { this.cartOrderProviderFactory = cartOrderProviderFactory; this.cartPipeline = cartPipeline; this.entityTranslationService = entityTranslationService; }
public override AddAccountResult Execute(IUnitOfWork unitOfWork, AddAccountParameter parameter, AddAccountResult result) { UserProfileDto userProfiledto = SiteContext.Current.UserProfileDto; UserProfile userProfile = unitOfWork.GetRepository <UserProfile>().Get(SiteContext.Current.UserProfileDto.Id); var companyNameIdentifier = customSettings.CompanyNameIdentifier; AssignCustomerResult assignCustomerResult = null; Customer billToCustomer = null; //BUSA-410 added if condition if (parameter.Properties.Count > 0) { //BUSA-1076 : start - adding current languageid in user profie wen new user getting created for email localisation userProfile.SetProperty("userLanguage", parameter.Properties["userLanguage"]); //BUSA-1076 : end - adding current languageid in user profie wen new user getting created for email localisation if (parameter.Properties["IsCustomerNumberProvided"] == "1") { //change for BUSA-403 start string CustomerNumber = companyNameIdentifier + parameter.Properties["CustomerNumber"]; //change for BUSA-403 end string ZipCode = parameter.Properties["ZipCode"]; var billToCustomers = unitOfWork.GetRepository <Customer>() .GetTable() .Where(cn => cn.CustomerNumber == CustomerNumber) .Where(zip => zip.PostalCode == ZipCode) .Where(a => a.IsActive == true) .Where(b => b.IsBillTo == true); if (billToCustomers != null) { billToCustomer = billToCustomers.FirstOrDefault(); } else { return(result); } var shipToCustomers = unitOfWork.GetRepository <Customer>() .GetTable() .Where(cn => cn.CustomerNumber == CustomerNumber) .Where(a => a.IsActive == true) .Where(b => b.IsShipTo == true) .Where(c => c.IsBillTo != c.IsShipTo); userProfile.Customers.Clear(); assignCustomerResult = this.AccountPipeline.AssignCustomer(new AssignCustomerParameter(userProfile, billToCustomer)); //BUSA-595 start : Buyer 3 added dynamically to an existing Brasseler customer request this.AccountPipeline.SetRole(new SetRoleParameter(userProfile, "Buyer3")); //BUSA-595 end : Buyer 3 added dynamically to an existing Brasseler customer request result.Properties.Add("ShipToCount", shipToCustomers.Count().ToString()); CustomerOrder cartOrder = this.CartOrderProviderFactory.GetCartOrderProvider().GetCartOrder(); if (cartOrder != null) { cartOrder.InitiatedByUserProfile = userProfile; cartOrder.PlacedByUserProfile = userProfile; cartOrder.PlacedByUserName = userProfile.UserName; cartOrder.Customer = billToCustomer; ICartPipeline cartPipeline1 = this.CartPipeline.Value; SetBillToParameter setBillToParameter = new SetBillToParameter(); setBillToParameter.BillTo = cartOrder.Customer; setBillToParameter.Cart = cartOrder; cartPipeline1.SetBillTo(setBillToParameter); cartOrder.ShipTo = billToCustomer; ICartPipeline cartPipeline2 = this.CartPipeline.Value; SetShipToParameter setShipToParameter = new SetShipToParameter(); setShipToParameter.Cart = cartOrder; setShipToParameter.ShipTo = cartOrder.ShipTo; cartPipeline2.SetShipTo(setShipToParameter); } //BUSA-453 change starts, sends an email if a new user is created with existing customer number dynamic emailModel = new ExpandoObject(); emailModel.CustomerNumber = CustomerNumber; emailModel.UserEmail = userProfile.Email; emailModel.FirstName = userProfile.FirstName; emailModel.LastName = userProfile.LastName; emailModel.Address1 = billToCustomer.Address1; emailModel.Address2 = billToCustomer.Address2; emailModel.Address3 = billToCustomer.Address3; emailModel.Phone = billToCustomer.Phone; emailModel.City = billToCustomer.City; emailModel.State = billToCustomer.State.Name; emailModel.PostalCode = billToCustomer.PostalCode; emailModel.Country = billToCustomer.Country.Name; var emailTo = customSettings.NewUserWithExistingCustomerEmailInfoTo; //unitOfWork.GetTypedRepository<IWebsiteConfigurationRepository>().GetOrCreateByName("NewUserWithExistingCustomerEmailInfoTo", SiteContext.Current.Website.Id); var emailList = unitOfWork.GetTypedRepository <IEmailListRepository>().GetOrCreateByName("NewUserEmailForExistingCustomer", "New User Email For Existing Customer"); if (emailTo != null && !string.IsNullOrEmpty(emailTo)) { EmailService.SendEmailList(emailList.Id, emailTo, emailModel, emailList.Subject, unitOfWork); } //BUSA-453 change end } else if (parameter.Properties["IsCustomerNumberProvided"] == "0") { string guestCustomerNumber = customSettings.Brasseler_GuestCustomerNumber; userProfile.Customers.Clear(); var billToCustomers = unitOfWork.GetRepository <Customer>() .GetTable() .Where(cn => cn.CustomerNumber == companyNameIdentifier + guestCustomerNumber); if (billToCustomers != null) { billToCustomer = billToCustomers.FirstOrDefault(); // Appending Company Number at prefix. } assignCustomerResult = this.AccountPipeline.AssignCustomer(new AssignCustomerParameter(userProfile, billToCustomer)); CustomerOrder cartOrder = this.CartOrderProviderFactory.GetCartOrderProvider().GetCartOrder(); if (cartOrder != null) { cartOrder.InitiatedByUserProfile = userProfile; cartOrder.PlacedByUserProfile = userProfile; cartOrder.PlacedByUserName = userProfile.UserName; cartOrder.Customer = billToCustomer; ICartPipeline cartPipeline1 = this.CartPipeline.Value; SetBillToParameter setBilltoParameter = new SetBillToParameter(); setBilltoParameter.BillTo = cartOrder.Customer; setBilltoParameter.Cart = cartOrder; cartPipeline1.SetBillTo(setBilltoParameter); cartOrder.ShipTo = billToCustomer; ICartPipeline cartPipeline2 = this.CartPipeline.Value; SetShipToParameter setShipToParameter = new SetShipToParameter(); setShipToParameter.ShipTo = cartOrder.ShipTo; setShipToParameter.Cart = cartOrder; cartPipeline2.SetShipTo(setShipToParameter); } } unitOfWork.Save(); AddSessionResult addSessionResult = this.SessionService.AddSession(new AddSessionParameter(parameter.UserName, parameter.Password)); if (addSessionResult.ResultCode != ResultCode.Success) { return(this.CreateErrorServiceResult <AddAccountResult>(result, addSessionResult.SubCode, addSessionResult.Message)); } if (assignCustomerResult.ResultCode != ResultCode.Success) { return(this.CreateErrorServiceResult <AddAccountResult>(result, assignCustomerResult.SubCode, assignCustomerResult.Message)); } result.BillTo = billToCustomer; result.ShipTo = billToCustomer; //Removed properties to avoid Unauthorized attempt issue. parameter.Properties.Remove("IsCustomerNumberProvided"); parameter.Properties.Remove("CustomerNumber"); parameter.Properties.Remove("ZipCode"); } return(this.NextHandler.Execute(unitOfWork, parameter, result)); }
public SubmitRmaOrderToErp(IHandlerFactory HandlerFactory, ICartPipeline cartPipeline) { this.HandlerFactory = HandlerFactory; CartPipeline = cartPipeline; updateCartResult = new UpdateCartResult(); }
public CreateCustomerOrderRecord(ICartPipeline cartPipeline) { CartPipeline = cartPipeline; customSettings = new CustomSettings(); }
public AddCartLine_Brasseler(ICartPipeline cartPipeline, IPricingPipeline PricingPipeline, IPromotionEngine promotionEngine) { this.cartPipeline = cartPipeline; this.pricingPipeline = PricingPipeline; this.PromotionEngine = promotionEngine; }