in src/Modules/SimplCommerce.Module.Core/Areas/Core/Controllers/UserAddressController.cs [250:299]
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();
}
}