public ActionResult Configure() { var taxCategories = _taxCategoryService.GetAllTaxCategories(); if (taxCategories.Count == 0) return Content("No tax categories can be loaded"); var model = new TaxRateListModel(); 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 TaxRateModel() { 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("SmartStore.Plugin.Tax.CountryStateZip.Views.TaxCountryStateZip.Configure", model); }
public ActionResult RatesList(GridCommand command) { var taxRatesModel = _taxRateService.GetAllTaxRates() .Select(x => { var m = new TaxRateModel() { 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(); var model = new GridModel<TaxRateModel> { Data = taxRatesModel, Total = taxRatesModel.Count }; return new JsonResult { Data = model }; }
public ActionResult RateUpdate(TaxRateModel model, GridCommand command) { var taxRate = _taxRateService.GetTaxRateById(model.Id); taxRate.Zip = model.Zip == "*" ? null : model.Zip; taxRate.Percentage = model.Percentage; _taxRateService.UpdateTaxRate(taxRate); return RatesList(command); }