Esempio n. 1
0
 public ProcessSubscriptionPurchase_Override(Lazy <IProductUtilities> productUtilities, IPricingPipeline pricingPipeline, IOrderLineUtilities orderLineUtilities, ICartPipeline cartPipeline)
 {
     this.productUtilities   = productUtilities;
     this.pricingPipeline    = pricingPipeline;
     this.orderLineUtilities = orderLineUtilities;
     this.cartPipeline       = cartPipeline;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 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;
 }
Esempio n. 9
0
 public GetCartHandler_Properties(ICartOrderProviderFactory cartOrderProviderFactory, ICartPipeline cartPipeline, IEntityTranslationService entityTranslationService)
 {
     this.cartOrderProviderFactory = cartOrderProviderFactory;
     this.cartPipeline             = cartPipeline;
     this.entityTranslationService = entityTranslationService;
 }
Esempio n. 10
0
        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();
 }
Esempio n. 12
0
 public CreateCustomerOrderRecord(ICartPipeline cartPipeline)
 {
     CartPipeline   = cartPipeline;
     customSettings = new CustomSettings();
 }
Esempio n. 13
0
 public AddCartLine_Brasseler(ICartPipeline cartPipeline, IPricingPipeline PricingPipeline, IPromotionEngine promotionEngine)
 {
     this.cartPipeline    = cartPipeline;
     this.pricingPipeline = PricingPipeline;
     this.PromotionEngine = promotionEngine;
 }