Exemple #1
0
        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));
 }