/// <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(); } }
/// <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)); } }