public async Task <IActionResult> Edit(long id, UserAddressFormViewModel model) { if (ModelState.IsValid) { var currentUser = await _workContext.GetCurrentUser(); var userAddress = _userAddressRepository.Query() .Include(x => x.Address) .FirstOrDefault(x => x.Id == id && x.UserId == currentUser.Id); if (userAddress == null) { return(NotFound()); } userAddress.Address.AddressLine1 = model.AddressLine1; userAddress.Address.ContactName = model.ContactName; userAddress.Address.CountryId = 1; userAddress.Address.StateOrProvinceId = model.StateOrProvinceId; userAddress.Address.DistrictId = model.DistrictId; userAddress.Address.Phone = model.Phone; _userAddressRepository.SaveChange(); return(RedirectToAction("List")); } PopulateAddressFormData(model); return(View(model)); }
public async Task <IActionResult> Create(UserAddressFormViewModel model) { if (ModelState.IsValid) { var currentUser = await _workContext.GetCurrentUser(); var address = new Address { AddressLine1 = model.AddressLine1, ContactName = model.ContactName, CountryId = 1, StateOrProvinceId = model.StateOrProvinceId, DistrictId = model.DistrictId, Phone = model.Phone }; var userAddress = new UserAddress { Address = address, AddressType = AddressType.Shipping, UserId = currentUser.Id }; _userAddressRepository.Add(userAddress); _userAddressRepository.SaveChange(); return(RedirectToAction("List")); } PopulateAddressFormData(model); return(View(model)); }
public async Task <IActionResult> Edit(long id) { var currentUser = await _workContext.GetCurrentUser(); var userAddress = _userAddressRepository.Query() .Include(x => x.Address) .FirstOrDefault(x => x.Id == id && x.UserId == currentUser.Id); if (userAddress == null) { return(NotFound()); } var model = new UserAddressFormViewModel { Id = userAddress.Id, ContactName = userAddress.Address.ContactName, Phone = userAddress.Address.Phone, AddressLine1 = userAddress.Address.AddressLine1, DistrictId = userAddress.Address.DistrictId, StateOrProvinceId = userAddress.Address.StateOrProvinceId }; PopulateAddressFormData(model); return(View(model)); }
public IActionResult Create() { var model = new UserAddressFormViewModel(); PopulateAddressFormData(model); return(View(model)); }
private void PopulateAddressFormData(UserAddressFormViewModel model) { var shippableCountries = _countryRepository.Query() .Where(x => x.IsShippingEnabled) .OrderBy(x => x.Name); if (!shippableCountries.Any()) { return; } model.Countries = shippableCountries .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); var selectedShipableCountryId = !string.IsNullOrEmpty(model.CountryId) ? model.CountryId : model.Countries.First().Value; var selectedCountry = shippableCountries.FirstOrDefault(c => c.Id == selectedShipableCountryId); if (selectedCountry != null) { model.DisplayCity = selectedCountry.IsCityEnabled; model.DisplayDistrict = selectedCountry.IsDistrictEnabled; model.DisplayZipCode = selectedCountry.IsZipCodeEnabled; } model.StateOrProvinces = _stateOrProvinceRepository .Query() .Where(x => x.CountryId == selectedShipableCountryId) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (model.StateOrProvinceId > 0) { model.Districts = _districtRepository .Query() .Where(x => x.StateOrProvinceId == model.StateOrProvinceId) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); } }
private void PopulateAddressFormData(UserAddressFormViewModel model) { model.StateOrProvinces = _stateOrProvinceRepository .Query() .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); var selectedStateOrProvince = model.StateOrProvinceId > 0 ? model.StateOrProvinceId : long.Parse(model.StateOrProvinces.First().Value); model.Districts = _districtRepository .Query() .Where(x => x.StateOrProvinceId == selectedStateOrProvince) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); }
private void PopulateAddressFormData(UserAddressFormViewModel model) { model.Countries = _countryRepository.Query() .Where(x => x.IsShippingEnabled) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); var onlyShipableCountryId = model.CountryId > 0 ? model.CountryId : long.Parse(model.Countries.First().Value); model.StateOrProvinces = _stateOrProvinceRepository .Query() .Where(x => x.CountryId == onlyShipableCountryId) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (model.StateOrProvinceId > 0) { model.Districts = _districtRepository .Query() .Where(x => x.StateOrProvinceId == model.StateOrProvinceId) .OrderBy(x => x.Name) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); } }