コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        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());
        }