/// <summary> /// Handle tax category deleted event /// </summary> /// <param name="eventMessage">Event message</param> public async Task HandleEventAsync(EntityDeletedEvent <TaxCategory> eventMessage) { var taxCategory = eventMessage?.Entity; if (taxCategory == null) { return; } //delete an appropriate record when tax category is deleted var recordsToDelete = (await _taxRateService.GetAllTaxRatesAsync()).Where(taxRate => taxRate.TaxCategoryId == taxCategory.Id).ToList(); foreach (var taxRate in recordsToDelete) { await _taxRateService.DeleteTaxRateAsync(taxRate); } //delete saved fixed rate if exists var setting = await _settingService.GetSettingAsync(string.Format(FixedOrByCountryStateZipDefaults.FixedRateSettingsKey, taxCategory.Id)); if (setting != null) { await _settingService.DeleteSettingAsync(setting); } }
public async Task <IActionResult> DeleteRateByCountryStateZip(int id) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageTaxSettings)) { return(Content("Access denied")); } var taxRate = await _taxRateService.GetTaxRateByIdAsync(id); if (taxRate != null) { await _taxRateService.DeleteTaxRateAsync(taxRate); } return(new NullJsonResult()); }