@@ -26,17 +26,24 @@ def create
2626 end
2727
2828 add_available_vat_rate ( available_vat_rate_form . code , available_vat_rate_form . rate , available_vat_rate_id )
29- rescue Taxes ::VatRateAlreadyExists
30- flash . now [ :notice ] = "VAT rate already exists"
31- render "new" , status : :unprocessable_entity
32- else
29+ rescue Taxes ::VatRateAlreadyExists
30+ flash . now [ :alert ] = "VAT rate already exists"
31+ render "new" , status : :unprocessable_entity
32+ else
3333 redirect_to available_vat_rates_path , notice : "VAT rate was successfully created"
3434 end
3535
3636 def index
3737 @available_vat_rates = VatRates ::AvailableVatRate . all
3838 end
3939
40+ def destroy
41+ remove_available_vat_rate ( params [ :vat_rate_code ] )
42+ redirect_to available_vat_rates_path , notice : "VAT rate was successfully removed"
43+ rescue Taxes ::VatRateNotExists
44+ redirect_to available_vat_rates_path , alert : "VAT rate does not exist"
45+ end
46+
4047 private
4148
4249 def add_available_vat_rate ( code , rate , available_vat_rate_id )
@@ -50,6 +57,14 @@ def add_available_vat_rate_cmd(code, rate, available_vat_rate_id)
5057 )
5158 end
5259
60+ def remove_available_vat_rate ( vat_rate_code )
61+ command_bus . ( remove_available_vat_rate_cmd ( vat_rate_code ) )
62+ end
63+
64+ def remove_available_vat_rate_cmd ( vat_rate_code )
65+ Taxes ::RemoveAvailableVatRate . new ( vat_rate_code : vat_rate_code )
66+ end
67+
5368 def available_vat_rate_params
5469 params . permit ( :code , :rate )
5570 end
0 commit comments