Example #1
0
        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);
        }
Example #2
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));
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }