public ActionResult SaveGeneralSettings(ShippingByTotalListModel model) { //save settings _shippingByTotalSettings.LimitMethodsToCreated = model.LimitMethodsToCreated; _shippingByTotalSettings.SmallQuantityThreshold = model.SmallQuantityThreshold; _shippingByTotalSettings.SmallQuantitySurcharge = model.SmallQuantitySurcharge; _settingService.SaveSetting(_shippingByTotalSettings); return Json(new { Result = true }); }
public ActionResult Configure() { var shippingMethods = _shippingService.GetAllShippingMethods(); if (shippingMethods.Count == 0) { return Content("No shipping methods can be loaded"); } var model = new ShippingByTotalListModel(); foreach (var sm in shippingMethods) { model.AvailableShippingMethods.Add(new SelectListItem() { Text = sm.Name, Value = sm.Id.ToString() }); } //stores model.AvailableStores.Add(new SelectListItem() { Text = "*", Value = "0" }); foreach (var store in _storeService.GetAllStores()) { model.AvailableStores.Add(new SelectListItem() { Text = store.Name, Value = store.Id.ToString() }); } //model.AvailableCountries.Add(new SelectListItem() { Text = "*", Value = "0" }); 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" }); model.LimitMethodsToCreated = _shippingByTotalSettings.LimitMethodsToCreated; model.SmallQuantityThreshold = _shippingByTotalSettings.SmallQuantityThreshold; model.SmallQuantitySurcharge = _shippingByTotalSettings.SmallQuantitySurcharge; model.PrimaryStoreCurrencyCode = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId).CurrencyCode; model.Records = _shippingByTotalService.GetAllShippingByTotalRecords() .Select(x => { var m = new ShippingByTotalModel { Id = x.Id, StoreId = x.StoreId, ShippingMethodId = x.ShippingMethodId, CountryId = x.CountryId, StateProvinceId = x.StateProvinceId, Zip = x.Zip, From = x.From, To = x.To, UsePercentage = x.UsePercentage, ShippingChargePercentage = x.ShippingChargePercentage, ShippingChargeAmount = x.ShippingChargeAmount, BaseCharge = x.BaseCharge, MaxCharge = x.MaxCharge }; var shippingMethod = _shippingService.GetShippingMethodById(x.ShippingMethodId); m.ShippingMethodName = (shippingMethod != null) ? shippingMethod.Name : "Unavailable"; //store var store = _storeService.GetStoreById(x.StoreId); m.StoreName = (store != null) ? store.Name : "*"; var c = _countryService.GetCountryById(x.CountryId ?? 0); m.CountryName = (c != null) ? c.Name : "*"; var s = _stateProvinceService.GetStateProvinceById(x.StateProvinceId ?? 0); m.StateProvinceName = (s != null) ? s.Name : "*"; m.Zip = (!String.IsNullOrEmpty(x.Zip)) ? x.Zip : "*"; return m; }) .ToList(); return View("SmartStore.Plugin.Shipping.ByTotal.Views.ShippingByTotal.Configure", model); }
public ActionResult AddShippingRate(ShippingByTotalListModel model) { var shippingByTotalRecord = new ShippingByTotalRecord { StoreId = model.AddStoreId, ShippingMethodId = model.AddShippingMethodId, CountryId = model.AddCountryId, StateProvinceId = model.AddStateProvinceId, Zip = model.AddZip, From = model.AddFrom, To = model.AddTo, UsePercentage = model.AddUsePercentage, ShippingChargePercentage = (model.AddUsePercentage) ? model.AddShippingChargePercentage : 0, ShippingChargeAmount = (model.AddUsePercentage) ? 0 : model.AddShippingChargeAmount, BaseCharge = model.AddBaseCharge, MaxCharge = model.AddMaxCharge }; _shippingByTotalService.InsertShippingByTotalRecord(shippingByTotalRecord); return Json(new { Result = true }); }