/// <summary> /// ProcessAddShippingSubmit - click on continue on new shipping address /// </summary> /// <param name="button"></param> protected void ProcessAddShippingSubmit() { bool isNicknameEntered = false; string distributorID = DistributorID; string locale = Locale; bool toSession = cbSaveThis.Checked ? false : true; WorkedUponAddress.ID = -1; IShippingProvider shippingProvider = (this.Page as ProductsBase).GetShippingProvider(); var addressList = GetShippingAddressesFromDeliveryOptions( shippingProvider.GetShippingAddresses(distributorID, locale)); // EMPTY IS ALLOWED OTHERWISE YOU COULD GET BUG 24224 for duplicates // if (!this.txtNickname.Text.Equals(String.Empty)) { WorkedUponAddress.Alias = txtNickname.Text.Trim(); isNicknameEntered = true; } try { //1) Submit validated chnages to Shippping Provider WorkedUponAddress.ID = ProductsBase.GetShippingProvider().SaveShippingAddress (distributorID, locale, WorkedUponAddress , toSession , true , isNicknameEntered); } finally { } if (WorkedUponAddress.ID == -2) //duplicateShippingAddress { trError.Visible = true; blErrors.Items.Add( new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists"))); return; } if (WorkedUponAddress.ID == -3) //duplicateNickName { trError.Visible = true; blErrors.Items.Add( new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname"))); return; } else { WorkedUponAddress.DisplayName = WorkedUponAddress.Alias == string.Empty ? shippingProvider.GetAddressDisplayName(WorkedUponAddress) : WorkedUponAddress.Alias; ShoppingCart.CopyInvoiceStatus = ServiceProvider.CatalogSvc.CopyInvoiceStatus.success; Session["IsCopingFromInvoice"] = null; OnShippingAddressCreated(this, new ShippingAddressEventArgs(distributorID, WorkedUponAddress, false, false)); //popup_AddEditShippingControl.Hide(); } }
protected virtual bool hasNoPreference() { IShippingProvider ShippingProvider = ProductsBase.GetShippingProvider(); List <DeliveryOption> shippingAddresses = ShippingProvider.GetShippingAddresses(DistributorID, Locale); return(shippingAddresses == null || shippingAddresses.Count == 0); }
/// <summary> /// Copy a shopping cart from a exisiting order. /// </summary> /// <param name="shoppingCartID">Exisisting shopping cart.</param> /// <param name="distributorID">Actual distributor ID.</param> /// <param name="locale">Actual Locale.</param> /// <param name="SkuitemList">List of SKU item</param> /// <returns>New Shopping cart id.</returns> public static MyHLShoppingCart CopyShoppingCart(int shoppingCartID, string distributorID, string locale, SKU_V01ItemCollection SkuitemList = null) { try { //var myHLShoppingCart = ShoppingCartProvider.createShoppingCart(distributorID, locale); // create a new cart in catalog service MyHLShoppingCart copiedCart = ShoppingCartProvider.GetShoppingCartForCopy(distributorID, shoppingCartID, locale, 0, SkuitemList); if (copiedCart != null && copiedCart.ShippingAddressID != 0) { IShippingProvider shippingProvider = ShippingProvider.GetShippingProvider(null); if (HLConfigManager.Configurations.AddressingConfiguration.HasAddressRestriction) { List <DeliveryOption> shippingAddresses = shippingProvider.GetShippingAddresses(distributorID, locale).Where(s => s.HasAddressRestriction == true) .ToList(); if (shippingAddresses.Count > 0) { copiedCart.ShippingAddressID = shippingAddresses.FirstOrDefault().ID; } } if (shippingProvider != null) { List <DeliveryOption> shippingAddresses = shippingProvider.GetShippingAddresses(distributorID, locale); if (shippingAddresses == null || shippingAddresses != null && shippingAddresses.Find(s => s.ID == copiedCart.ShippingAddressID) == null) { string cacheKey = new ShippingProviderBase().getSessionShippingAddressKey(distributorID, locale); HttpContext.Current.Session.Remove(cacheKey); } } } return(copiedCart); } catch (Exception ex) { LoggerHelper.Error(string.Format("CopyOrderError error: DS {0}, locale{1}, original {2}, error: {3}", distributorID, locale, shoppingCartID, ex.ToString())); } return(null); }
/// <summary> /// ProcessEditShippingSubmit - click on continue on edit shipping address /// </summary> /// <param name="button"></param> protected void ProcessEditShippingSubmit() { string distributorID = DistributorID; string countryCode = CountryCode; string locale = Locale; bool toSession = cbSaveThis.Checked ? false : true; int existingId; IShippingProvider shippingProvider = (Page as ProductsBase).GetShippingProvider(); bool isNicknameEntered = false; var addressList = GetShippingAddressesFromDeliveryOptions( shippingProvider.GetShippingAddresses(distributorID, locale)); //check for empty nickname in the addressList. //if (this.txtNickname.Text.Equals(String.Empty)) //{ // bool isExists = addressList.Exists(l => l.Alias.Equals(this.txtNickname.Text.Trim())); // if (isExists) // { // existingId = addressList.Find(l => l.Alias.Equals(this.txtNickname.Text.Trim())) == null ? 0 : // addressList.Find(l => l.Alias.Equals(this.txtNickname.Text.Trim())).ID; // if (!this.WorkedUponAddress.ID.Equals(existingId)) // { // //check for duplicate address. // if (ProductsBase.GetShippingProvider().duplicateShippingAddress(addressList, this.WorkedUponAddress)) // { // this.trError.Visible = true; // this.blErrors.Items.Add(new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists"))); // return; // } // } // } //} int saveWorkingID = WorkedUponAddress.ID; var existentAdd = addressList.Where(l => l.Alias != null && l.Alias.Equals(txtNickname.Text.Trim())).FirstOrDefault(); existingId = (existentAdd != null) ? existentAdd.ID : 0; if (!WorkedUponAddress.ID.Equals(existingId)) { isNicknameEntered = true; } WorkedUponAddress.Alias = txtNickname.Text.Trim(); //1) Submit validated chnages to Shippping Provider WorkedUponAddress.ID = ProductsBase.GetShippingProvider().SaveShippingAddress (distributorID, locale, WorkedUponAddress , toSession , true , isNicknameEntered); if (WorkedUponAddress.ID == -2) //duplicateShippingAddress { trError.Visible = true; blErrors.Items.Add( new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists"))); return; } if (WorkedUponAddress.ID == -3) //duplicateNickName { trError.Visible = true; blErrors.Items.Add( new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname"))); // don't loose the ID , otherwise it will become an insert if (isNicknameEntered) { WorkedUponAddress.ID = saveWorkingID; WorkedUponAddress.Alias = txtNickname.Text.Trim(); } return; } else { WorkedUponAddress.DisplayName = WorkedUponAddress.Alias == string.Empty ? shippingProvider.GetAddressDisplayName(WorkedUponAddress) : WorkedUponAddress.Alias; ShoppingCart.CopyInvoiceStatus = ServiceProvider.CatalogSvc.CopyInvoiceStatus.success; Session["IsCopingFromInvoice"] = null; OnShippingAddressChanged(this, new ShippingAddressEventArgs(distributorID, WorkedUponAddress, false, false)); } }