public ActionResult Configure() { var taxCategories = _taxCategoryService.GetAllTaxCategories(); if (taxCategories.Count == 0) return Content("No tax categories can be loaded"); var model = new ByRegionTaxRateListModel(); foreach (var tc in taxCategories) model.AvailableTaxCategories.Add(new SelectListItem() { Text = tc.Name, Value = tc.Id.ToString() }); var countries = _countryService.GetAllCountries(true); foreach (var c in countries) model.AvailableCountries.Add(new SelectListItem() { Text = c.Name, Value = c.Id.ToString() }); model.AvailableStates.Add(new SelectListItem() { Text = "*", Value = "0" }); var states = _stateProvinceService.GetStateProvincesByCountryId(countries.FirstOrDefault().Id); if (states.Count > 0) { foreach (var s in states) model.AvailableStates.Add(new SelectListItem() { Text = s.Name, Value = s.Id.ToString() }); } model.TaxRates = _taxRateService.GetAllTaxRates() .Select(x => { var m = new ByRegionTaxRateModel() { Id = x.Id, TaxCategoryId = x.TaxCategoryId, CountryId = x.CountryId, StateProvinceId = x.StateProvinceId, Zip = x.Zip, Percentage = x.Percentage, }; var tc = _taxCategoryService.GetTaxCategoryById(x.TaxCategoryId); m.TaxCategoryName = (tc != null) ? tc.Name : ""; var c = _countryService.GetCountryById(x.CountryId); m.CountryName = (c != null) ? c.Name : "Unavailable"; var s = _stateProvinceService.GetStateProvinceById(x.StateProvinceId); m.StateProvinceName = (s != null) ? s.Name : "*"; m.Zip = (!String.IsNullOrEmpty(x.Zip)) ? x.Zip : "*"; return m; }) .ToList(); return View(model); }
public ActionResult AddTaxRate(ByRegionTaxRateListModel model) { if (!ModelState.IsValid) { return Configure(); } var taxRate = new TaxRate() { TaxCategoryId = model.AddTaxCategoryId, CountryId = model.AddCountryId, StateProvinceId = model.AddStateProvinceId, Zip = model.AddZip, Percentage = model.AddPercentage }; _taxRateService.InsertTaxRate(taxRate); return Configure(); }