/// <summary> /// Prepare paged tax category list model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category list model</returns> public override TaxCategoryListModel PrepareTaxCategoryListModel(TaxCategorySearchModel searchModel) { //ensure that Avalara tax provider is active if (!_taxPluginManager.IsPluginActive(AvalaraTaxDefaults.SystemName)) { return(base.PrepareTaxCategoryListModel(searchModel)); } if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get tax categories var taxCategories = _taxCategoryService.GetAllTaxCategories().ToPagedList(searchModel); //get tax types and define the default value var taxTypes = _cacheManager.Get(AvalaraTaxDefaults.TaxCodeTypesCacheKey, () => _avalaraTaxManager.GetTaxCodeTypes()) ?.Select(taxType => new { Id = taxType.Key, Name = taxType.Value }); var defaultType = taxTypes ?.FirstOrDefault(taxType => taxType.Name.Equals("Unknown", StringComparison.InvariantCultureIgnoreCase)) ?? taxTypes?.FirstOrDefault(); //prepare grid model var model = new Models.Tax.TaxCategoryListModel().PrepareToGrid(searchModel, taxCategories, () => { //fill in model values from the entity return(taxCategories.Select(taxCategory => { //fill in model values from the entity var taxCategoryModel = new Models.Tax.TaxCategoryModel { Id = taxCategory.Id, Name = taxCategory.Name, DisplayOrder = taxCategory.DisplayOrder }; //try to get previously saved tax code type and description var taxCodeType = taxTypes?.FirstOrDefault(type => type.Id.Equals(_genericAttributeService.GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeTypeAttribute) ?? string.Empty)) ?? defaultType; taxCategoryModel.Type = taxCodeType?.Name ?? string.Empty; taxCategoryModel.TypeId = taxCodeType?.Id ?? Guid.Empty.ToString(); taxCategoryModel.Description = _genericAttributeService .GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeDescriptionAttribute) ?? string.Empty; return taxCategoryModel; })); }); return(new TaxCategoryListModel { Data = model.Data, Draw = model.Draw, RecordsTotal = model.RecordsTotal, RecordsFiltered = model.RecordsFiltered }); }
/// <returns>A task that represents the asynchronous operation</returns> public virtual async Task <IActionResult> Categories(TaxCategorySearchModel searchModel) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageTaxSettings)) { return(await AccessDeniedDataTablesJson()); } //prepare model var model = await _taxModelFactory.PrepareTaxCategoryListModelAsync(searchModel); return(Json(model)); }
/// <summary> /// Prepare tax category search model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category search model</returns> public virtual TaxCategorySearchModel PrepareTaxCategorySearchModel(TaxCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
public virtual IActionResult Categories(TaxCategorySearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageTaxSettings)) { return(AccessDeniedKendoGridJson()); } //prepare model var model = _taxModelFactory.PrepareTaxCategoryListModel(searchModel); return(Json(model)); }
public override IActionResult Categories(TaxCategorySearchModel searchModel) { //ensure that Avalara tax provider is active if (!_taxPluginManager.IsPluginActive(AvalaraTaxDefaults.SystemName)) { return(base.Categories(searchModel)); } if (!_permissionService.Authorize(StandardPermissionProvider.ManageTaxSettings)) { return(AccessDeniedDataTablesJson()); } //get tax categories var taxCategories = _taxCategoryService.GetAllTaxCategories().ToPagedList(searchModel); //get tax types and define the default value var cacheKey = _cacheKeyService.PrepareKeyForDefaultCache(AvalaraTaxDefaults.TaxCodeTypesCacheKey); var taxTypes = _cacheManager.Get(cacheKey, () => _avalaraTaxManager.GetTaxCodeTypes()) ?.Select(taxType => new { Id = taxType.Key, Name = taxType.Value }); var defaultType = taxTypes ?.FirstOrDefault(taxType => taxType.Name.Equals("Unknown", StringComparison.InvariantCultureIgnoreCase)) ?? taxTypes?.FirstOrDefault(); //prepare grid model var model = new Models.Tax.TaxCategoryListModel().PrepareToGrid(searchModel, taxCategories, () => { //fill in model values from the entity return(taxCategories.Select(taxCategory => { //fill in model values from the entity var taxCategoryModel = new Models.Tax.TaxCategoryModel { Id = taxCategory.Id, Name = taxCategory.Name, DisplayOrder = taxCategory.DisplayOrder }; //try to get previously saved tax code type and description var taxCodeType = taxTypes?.FirstOrDefault(type => type.Id.Equals(_genericAttributeService.GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeTypeAttribute) ?? string.Empty)) ?? defaultType; taxCategoryModel.Type = taxCodeType?.Name ?? string.Empty; taxCategoryModel.TypeId = taxCodeType?.Id ?? Guid.Empty.ToString(); taxCategoryModel.Description = _genericAttributeService .GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeDescriptionAttribute) ?? string.Empty; return taxCategoryModel; })); }); return(Json(model)); }
/// <summary> /// Prepare paged tax category list model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category list model</returns> public override TaxCategoryListModel PrepareTaxCategoryListModel(TaxCategorySearchModel searchModel) { //ensure that Avalara tax provider is active if (!(_taxService.LoadActiveTaxProvider(_workContext.CurrentCustomer) is AvalaraTaxProvider)) { return(base.PrepareTaxCategoryListModel(searchModel)); } if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get tax categories var taxCategories = _taxCategoryService.GetAllTaxCategories(); //get tax types and define the default value var taxTypes = _cacheManager.Get(AvalaraTaxDefaults.TaxCodeTypesCacheKey, () => _avalaraTaxManager.GetTaxCodeTypes()) ?.Select(taxType => new { Id = taxType.Key, Name = taxType.Value }); var defaultType = taxTypes ?.FirstOrDefault(taxType => taxType.Name.Equals("Unknown", StringComparison.InvariantCultureIgnoreCase)) ?? taxTypes?.FirstOrDefault(); //prepare grid model var model = new TaxCategoryListModel { Data = taxCategories.PaginationByRequestModel(searchModel).Select(taxCategory => { //fill in model values from the entity var taxCategoryModel = new Models.Tax.TaxCategoryModel { Id = taxCategory.Id, Name = taxCategory.Name, DisplayOrder = taxCategory.DisplayOrder }; //try to get previously saved tax code type and description var taxCodeType = taxTypes?.FirstOrDefault(type => type.Id.Equals(_genericAttributeService.GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeTypeAttribute) ?? string.Empty)) ?? defaultType; taxCategoryModel.Type = taxCodeType?.Name ?? string.Empty; taxCategoryModel.TypeId = taxCodeType?.Id ?? Guid.Empty.ToString(); taxCategoryModel.Description = _genericAttributeService .GetAttribute <string>(taxCategory, AvalaraTaxDefaults.TaxCodeDescriptionAttribute) ?? string.Empty; return(taxCategoryModel); }), Total = taxCategories.Count }; return(model); }
/// <summary> /// Prepare paged tax category list model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category list model</returns> public virtual TaxCategoryListModel PrepareTaxCategoryListModel(TaxCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get tax categories var taxCategories = _taxCategoryService.GetAllTaxCategories().ToPagedList(searchModel); //prepare grid model var model = new TaxCategoryListModel().PrepareToGrid(searchModel, taxCategories, () => { //fill in model values from the entity return(taxCategories.Select(taxCategory => taxCategory.ToModel <TaxCategoryModel>())); }); return(model); }
/// <summary> /// Prepare paged tax category list model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category list model</returns> public virtual TaxCategoryListModel PrepareTaxCategoryListModel(TaxCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get tax categories var taxCategories = _taxCategoryService.GetAllTaxCategories(); //prepare grid model var model = new TaxCategoryListModel { //fill in model values from the entity Data = taxCategories.PaginationByRequestModel(searchModel).Select(taxCategory => taxCategory.ToModel <TaxCategoryModel>()), Total = taxCategories.Count }; return(model); }
/// <summary> /// Prepare tax category search model /// </summary> /// <param name="searchModel">Tax category search model</param> /// <returns>Tax category search model</returns> public virtual Task <TaxCategorySearchModel> PrepareTaxCategorySearchModelAsync(TaxCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare page parameters searchModel.SetGridPageSize(); return(Task.FromResult(searchModel)); }
public TaxConfigurationModel() { TaxProviders = new TaxProviderSearchModel(); TaxCategories = new TaxCategorySearchModel(); }