/// <summary> /// Save tax origin address type /// </summary> /// <param name="model">Tax settings model</param> private void SaveTaxOriginAddressType(TaxSettingsModel model) { //ensure that received model is TaxSettingsModel if (model == null) { return; } if (!_permissionService.Authorize(StandardPermissionProvider.ManageTaxSettings)) { return; } //ensure that Avalara tax provider is active if (!(_taxService.LoadActiveTaxProvider(_workContext.CurrentCustomer) is AvalaraTaxProvider)) { return; } //whether there is a form value for the tax origin address type if (_httpContextAccessor.HttpContext.Request.Form.TryGetValue(AvalaraTaxDefaults.TaxOriginField, out StringValues taxOriginValue) && int.TryParse(taxOriginValue, out int taxOriginType)) { //save settings _avalaraTaxSettings.TaxOriginAddressType = (TaxOriginAddressType)taxOriginType; _settingService.SaveSetting(_avalaraTaxSettings); } }
/// <summary> /// Invoke the widget view component /// </summary> /// <param name="widgetZone">Widget zone</param> /// <param name="additionalData">Additional parameters</param> /// <returns>View component result</returns> public IViewComponentResult Invoke(string widgetZone, object additionalData) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageTaxSettings)) { return(Content(string.Empty)); } //ensure that Avalara tax provider is active if (!(_taxService.LoadActiveTaxProvider(_workContext.CurrentCustomer) is AvalaraTaxProvider)) { return(Content(string.Empty)); } //ensure that it's a proper widget zone if (!widgetZone.Equals(AdminWidgetZones.TaxSettingsTop)) { return(Content(string.Empty)); } //prepare model var model = new TaxOriginAddressTypeModel { AvalaraTaxOriginAddressType = (int)_avalaraTaxSettings.TaxOriginAddressType, TaxOriginAddressTypes = _avalaraTaxSettings.TaxOriginAddressType.ToSelectList() }; var taxSettingsModel = new TaxSettingsModel(); model.PrecedingElementId = nameof(taxSettingsModel.TaxBasedOn); return(View("~/Plugins/Tax.Avalara/Views/Settings/TaxOriginAddressType.cshtml", model)); }
public async Task <IActionResult> Settings(TaxSettingsModel model, [FromServices] ICustomerActivityService customerActivityService) { //load settings for a chosen store scope var storeScope = await GetActiveStore(_storeService, _workContext); var taxSettings = _settingService.LoadSetting <TaxSettings>(storeScope); taxSettings = model.ToEntity(taxSettings); await _settingService.SaveSetting(taxSettings, storeScope); //now clear cache await ClearCache(); //activity log await customerActivityService.InsertActivity("EditSettings", "", _translationService.GetResource("ActivityLog.EditSettings")); Success(_translationService.GetResource("Admin.Configuration.Updated")); return(RedirectToAction("Settings")); }
public IActionResult SaveSettings(TaxSettingsModel taxSettings) { SaveSetting(taxSettings); return(R.Success.Result); }
public static TaxSettings ToEntity(this TaxSettingsModel model, TaxSettings destination) { return(model.MapTo(destination)); }
public static TaxSettings ToEntity(this TaxSettingsModel model, TaxSettings destination) { return(Mapper.Map(model, destination)); }
public static TaxSettings ToEntity(this TaxSettingsModel model) { return(Mapper.Map <TaxSettingsModel, TaxSettings>(model)); }
public static TaxSettings ToEntity(this TaxSettingsModel model, TaxSettings entity) { MapperFactory.Map(model, entity); return(entity); }