public PostalAddressEditViewModel SavePostalAddress(PostalAddressEditViewModel model) { if (model != null && Guid.TryParse(model.CustomerID, out Guid customerid)) { using (var context = new ApplicationDbContext()) { var postalAddress = new PostalAddress() { CustomerID = customerid, StreetAddress1 = model.StreetAddress1?.Trim(), StreetAddress2 = model.StreetAddress2?.Trim(), City = model.City?.Trim(), PostalCode = model.PostalCode, RegionCode = model.SelectedRegionCode, Iso3 = model.SelectedCountryIso3 }; postalAddress.Region = context.Regions.Find(postalAddress.RegionCode); postalAddress.Country = context.Countries.Find(postalAddress.Iso3); context.PostalAddresses.Add(postalAddress); context.SaveChanges(); var countriesRepo = new CountriesRepository(); model.Countries = countriesRepo.GetCountries(); var regionsRepo = new RegionsRepository(); model.Regions = regionsRepo.GetRegions(model.SelectedCountryIso3); return(model); } } return(null); }
public ActionResult AddressTypePartial(AddressTypeViewModel model) { if (ModelState.IsValid && !String.IsNullOrWhiteSpace(model.CustomerID)) { switch (model.SelectedAddressType) { case "Email": var emailAddressModel = new EmailAddressViewModel() { CustomerID = model.CustomerID }; return(PartialView("CreateEmailAddressPartial", emailAddressModel)); case "Postal": var postalAddressModel = new PostalAddressEditViewModel() { CustomerID = model.CustomerID }; var countriesRepo = new CountriesRepository(); postalAddressModel.Countries = countriesRepo.GetCountries(); var regionsRepo = new RegionsRepository(); postalAddressModel.Regions = regionsRepo.GetRegions(); return(PartialView("CreatePostalAddressPartial", postalAddressModel)); default: return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }
public ActionResult CreatePostalAddressPartial(PostalAddressEditViewModel model) { if (ModelState.IsValid) { var repo = new CustomersRepository(); var updatedModel = repo.SavePostalAddress(model); if (updatedModel != null) { return(RedirectToAction("Edit", new { id = model.CustomerID })); } } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }