public CustomerEditViewModel GetCustomer(Guid customerid) { if (customerid != Guid.Empty) { using (var context = new ApplicationDbContext()) { var customer = context.Customers.AsNoTracking() .Where(x => x.CustomerID == customerid) .SingleOrDefault(); if (customer != null) { var customerEditVm = new CustomerEditViewModel() { CustomerID = customer.CustomerID.ToString("D"), CustomerName = customer.CustomerName.Trim(), SelectedCountryIso3 = customer.CountryIso3, SelectedRegionCode = customer.RegionCode }; var countriesRepo = new CountriesRepository(); customerEditVm.Countries = countriesRepo.GetCountries(); var regionsRepo = new RegionsRepository(); customerEditVm.Regions = regionsRepo.GetRegions(customer.CountryIso3); return(customerEditVm); } } } return(null); }
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 GetRegions(string iso3) { if (!string.IsNullOrWhiteSpace(iso3) && iso3.Length == 3) { var repo = new RegionsRepository(); IEnumerable <SelectListItem> regions = repo.GetRegions(iso3); return(Json(regions, JsonRequestBehavior.AllowGet)); } return(null); }
public CustomerEditViewModel CreateCustomer() { var cRepo = new CountriesRepository(); var rRepo = new RegionsRepository(); var customer = new CustomerEditViewModel() { CustomerID = Guid.NewGuid().ToString(), Countries = cRepo.GetCountries(), Regions = rRepo.GetRegions() }; return(customer); }
public IActionResult OnPostRegions() { MemoryStream stream = new MemoryStream(); Request.Body.CopyToAsync(stream); stream.Position = 0; using StreamReader reader = new StreamReader(stream); string requestBody = reader.ReadToEnd(); if (requestBody.Length > 0) { var repo = new RegionsRepository(_context); IEnumerable <SelectListItem> regions = repo.GetRegions(requestBody); return(new JsonResult(regions)); } return(null); }