public ActionResult Shipping(int addressIndex, string recipientName, string street, string zipCode, string city, int countryId) { Logger.Info("Delivery address selected"); var cart = CartService.GetCurrentOrderCart(User.GetUserPrincipal()); if (cart == null || cart.ItemCount == 0) { // RedirectToAction("Shipping"); return RedirectToERPStoreRoute(ERPStoreRoutes.HOME); } var user = (User as Models.UserPrincipal).CurrentUser; ViewData.Model = cart; if (cart.BillingAddress == null) { cart.BillingAddress = user.DefaultAddress; } ViewData["SelectedAddressId"] = addressIndex; Models.Address address = null; // Nouvelle adresse if (addressIndex == -1) { address = new ERPStore.Models.Address(); address.RecipientName = recipientName; address.Street = street; address.ZipCode = zipCode; address.City = city; address.CountryId = countryId; ModelState.AddModelErrors(AccountService.ValidateUserAddress(address, HttpContext)); if (!ModelState.IsValid) { return View(string.Format(m_ViewPath,"shipping")); } AddressService.SaveAddress(user, address, true); user.DeliveryAddressList.Add(address); } else { address = user.DeliveryAddressList[addressIndex]; } cart.DeliveryAddress = address; using (var ts = TransactionHelper.GetNewReadCommitted()) { CartService.Save(cart); ts.Complete(); } // return RedirectToAction("Configuration"); return RedirectToERPStoreRoute(ERPStoreRoutes.CHECKOUT_CONFIGURATION); }
private IEnumerable<Models.Address> AddressesDatas() { var result = new List<Models.Address>(); for (int i = 0; i < 4; i++) { var address = new ERPStore.Models.Address() { City = string.Format("City{0}", i), CountryId = Models.Country.Default.Id, Id = i, RecipientName = string.Format("M Test {0}", i), Region = string.Empty, Street = string.Format("Street{0}", i), ZipCode = string.Format("010{0:00}", i), }; result.Add(address); } return result; }
public ActionResult EditAddressList(FormCollection form) { var user = User.GetUserPrincipal().CurrentUser; // SetupDefault(); ViewData.Model = user; ViewData["success"] = 0; var addressId = 0; if (!int.TryParse(form["addressId"], out addressId)) { ModelState.AddModelError("_FORM", "Adresse introuvable"); return View("EditAddresses"); } int oldAddressId = 0; var city = string.Format("city{0}", addressId); var corporateName = string.Format("corporateName{0}", addressId); var countryId = string.Format("countryId{0}", addressId); var recipientName = string.Format("recipientName{0}", addressId); var street = string.Format("street{0}", addressId); var zipCode = string.Format("zipCode{0}", addressId); var address = new ERPStore.Models.Address(); address.City = form[city]; address.CorporateName = form[corporateName]; address.CountryId = Convert.ToInt32(form[countryId]); address.RecipientName = form[recipientName]; address.Street = form[street]; address.ZipCode = form[zipCode]; var brokenRules = AccountService.ValidateUserAddress(address, HttpContext); if (brokenRules.IsNotNullOrEmpty()) { foreach (var item in brokenRules) { foreach (var error in item.ErrorList) { ModelState.AddModelError(string.Format("{0}{1}", item.PropertyName, addressId) , error); } } } if (!ModelState.IsValid) { return View("EditAddresses"); } if (addressId == -1) { oldAddressId = user.DefaultAddress.Id; user.DefaultAddress = address; user.DefaultAddress.Id = oldAddressId; } else { oldAddressId = user.DeliveryAddressList[addressId].Id; user.DeliveryAddressList[addressId] = address; // Cas ou l'adresse de livraison est la meme // que l'adresse de facturation if (oldAddressId == user.DefaultAddress.Id) { user.DeliveryAddressList[addressId].Id = 0; } else { user.DeliveryAddressList[addressId].Id = oldAddressId; } } AddressService.SaveAddress(user, address, addressId != -1); ViewData["success"] = addressId.ToString(); return View("EditAddresses"); }
public ERPStore.Models.User RegisterUser(ERPStore.Models.RegistrationUser user) { var result = new ERPStore.Models.User(); var billingAddress = new ERPStore.Models.Address(); billingAddress.City = user.BillingAddressCity; billingAddress.CorporateName = user.CorporateName; billingAddress.CountryId = user.BillingAddressCountryId; billingAddress.RecipientName = user.FullName; billingAddress.Region = user.BillingAddressRegion; billingAddress.Street = user.BillingAddressStreet; billingAddress.ZipCode = user.BillingAddressZipCode; result.Code = user.VisitorId; if (!user.CorporateName.IsNullOrTrimmedEmpty()) { result.Corporate = new ERPStore.Models.Corporate(); result.Corporate.Code = user.VisitorId; result.Corporate.CreationDate = DateTime.Now; result.Corporate.DefaultAddress = billingAddress; result.Corporate.Email = user.CorporateEmail; result.Corporate.FaxNumber = user.CorporateFaxNumber; result.Corporate.NafCode = user.NAFCode; result.Corporate.Name = user.CorporateName; result.Corporate.PhoneNumber = user.CorporatePhoneNumber; result.Corporate.RcsNumber = user.RcsNumber; result.Corporate.SiretNumber = user.SiretNumber; result.Corporate.SocialStatus = user.CorporateSocialStatus; result.Corporate.VatMandatory = user.VatMandatory; result.Corporate.VatNumber = user.TVANumber; result.Corporate.WebSite = user.CorporateWebSite; } result.CreationDate = DateTime.Now; result.DefaultAddress = billingAddress; result.Email = user.Email; result.FaxNumber = user.FaxNumber; result.FirstName = user.FirstName; result.LastName = user.LastName; result.Login = user.Email; result.MobileNumber = user.MobileNumber; result.PhoneNumber = user.PhoneNumber; result.Presentation = (ERPStore.Models.UserPresentation)Enum.Parse(typeof(ERPStore.Models.UserPresentation), user.PresentationId.ToString()); result.State = ERPStore.Models.UserState.Completed; m_List.Add(result); result.Id = m_List.IndexOf(result) + 1; m_PasswordList.Add(result.Id, user.Password); return result; }