001// --------------------------------------------------------------------------------
002// Copyright 2002-2026 Echo Three, LLC
003//
004// Licensed under the Apache License, Version 2.0 (the "License");
005// you may not use this file except in compliance with the License.
006// You may obtain a copy of the License at
007//
008//     http://www.apache.org/licenses/LICENSE-2.0
009//
010// Unless required by applicable law or agreed to in writing, software
011// distributed under the License is distributed on an "AS IS" BASIS,
012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013// See the License for the specific language governing permissions and
014// limitations under the License.
015// --------------------------------------------------------------------------------
016
017package com.echothree.control.user.tax.server;
018
019import com.echothree.control.user.tax.common.TaxRemote;
020import com.echothree.control.user.tax.common.form.*;
021import com.echothree.control.user.tax.common.result.*;
022import com.echothree.control.user.tax.server.command.*;
023import com.echothree.model.data.user.common.pk.UserVisitPK;
024import com.echothree.util.common.command.CommandResult;
025import com.echothree.util.common.command.VoidResult;
026import javax.ejb.Stateless;
027import javax.enterprise.inject.spi.CDI;
028
029@Stateless
030public class TaxBean
031        extends TaxFormsImpl
032        implements TaxRemote, TaxLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "TaxBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Tax Classifications
045    // -------------------------------------------------------------------------
046
047    @Override
048    public CommandResult<VoidResult> createTaxClassification(UserVisitPK userVisitPK, CreateTaxClassificationForm form) {
049        return CDI.current().select(CreateTaxClassificationCommand.class).get().run(userVisitPK, form);
050    }
051
052    @Override
053    public CommandResult<GetTaxClassificationsResult> getTaxClassifications(UserVisitPK userVisitPK, GetTaxClassificationsForm form) {
054        return CDI.current().select(GetTaxClassificationsCommand.class).get().run(userVisitPK, form);
055    }
056
057    @Override
058    public CommandResult<GetTaxClassificationResult> getTaxClassification(UserVisitPK userVisitPK, GetTaxClassificationForm form) {
059        return CDI.current().select(GetTaxClassificationCommand.class).get().run(userVisitPK, form);
060    }
061
062    @Override
063    public CommandResult<GetTaxClassificationChoicesResult> getTaxClassificationChoices(UserVisitPK userVisitPK, GetTaxClassificationChoicesForm form) {
064        return CDI.current().select(GetTaxClassificationChoicesCommand.class).get().run(userVisitPK, form);
065    }
066
067    @Override
068    public CommandResult<VoidResult> setDefaultTaxClassification(UserVisitPK userVisitPK, SetDefaultTaxClassificationForm form) {
069        return CDI.current().select(SetDefaultTaxClassificationCommand.class).get().run(userVisitPK, form);
070    }
071
072    @Override
073    public CommandResult<EditTaxClassificationResult> editTaxClassification(UserVisitPK userVisitPK, EditTaxClassificationForm form) {
074        return CDI.current().select(EditTaxClassificationCommand.class).get().run(userVisitPK, form);
075    }
076
077    @Override
078    public CommandResult<VoidResult> deleteTaxClassification(UserVisitPK userVisitPK, DeleteTaxClassificationForm form) {
079        return CDI.current().select(DeleteTaxClassificationCommand.class).get().run(userVisitPK, form);
080    }
081
082    // -------------------------------------------------------------------------
083    //   Tax Classification Translations
084    // -------------------------------------------------------------------------
085
086    @Override
087    public CommandResult<VoidResult> createTaxClassificationTranslation(UserVisitPK userVisitPK, CreateTaxClassificationTranslationForm form) {
088        return CDI.current().select(CreateTaxClassificationTranslationCommand.class).get().run(userVisitPK, form);
089    }
090
091    @Override
092    public CommandResult<GetTaxClassificationTranslationsResult> getTaxClassificationTranslations(UserVisitPK userVisitPK, GetTaxClassificationTranslationsForm form) {
093        return CDI.current().select(GetTaxClassificationTranslationsCommand.class).get().run(userVisitPK, form);
094    }
095
096    @Override
097    public CommandResult<GetTaxClassificationTranslationResult> getTaxClassificationTranslation(UserVisitPK userVisitPK, GetTaxClassificationTranslationForm form) {
098        return CDI.current().select(GetTaxClassificationTranslationCommand.class).get().run(userVisitPK, form);
099    }
100
101    @Override
102    public CommandResult<EditTaxClassificationTranslationResult> editTaxClassificationTranslation(UserVisitPK userVisitPK, EditTaxClassificationTranslationForm form) {
103        return CDI.current().select(EditTaxClassificationTranslationCommand.class).get().run(userVisitPK, form);
104    }
105
106    @Override
107    public CommandResult<VoidResult> deleteTaxClassificationTranslation(UserVisitPK userVisitPK, DeleteTaxClassificationTranslationForm form) {
108        return CDI.current().select(DeleteTaxClassificationTranslationCommand.class).get().run(userVisitPK, form);
109    }
110    
111    // -------------------------------------------------------------------------
112    //   Item Tax Classifications
113    // -------------------------------------------------------------------------
114
115    @Override
116    public CommandResult<VoidResult> createItemTaxClassification(UserVisitPK userVisitPK, CreateItemTaxClassificationForm form) {
117        return CDI.current().select(CreateItemTaxClassificationCommand.class).get().run(userVisitPK, form);
118    }
119
120    @Override
121    public CommandResult<GetItemTaxClassificationsResult> getItemTaxClassifications(UserVisitPK userVisitPK, GetItemTaxClassificationsForm form) {
122        return CDI.current().select(GetItemTaxClassificationsCommand.class).get().run(userVisitPK, form);
123    }
124
125    @Override
126    public CommandResult<GetItemTaxClassificationResult> getItemTaxClassification(UserVisitPK userVisitPK, GetItemTaxClassificationForm form) {
127        return CDI.current().select(GetItemTaxClassificationCommand.class).get().run(userVisitPK, form);
128    }
129
130    @Override
131    public CommandResult<EditItemTaxClassificationResult> editItemTaxClassification(UserVisitPK userVisitPK, EditItemTaxClassificationForm form) {
132        return CDI.current().select(EditItemTaxClassificationCommand.class).get().run(userVisitPK, form);
133    }
134
135    @Override
136    public CommandResult<VoidResult> deleteItemTaxClassification(UserVisitPK userVisitPK, DeleteItemTaxClassificationForm form) {
137        return CDI.current().select(DeleteItemTaxClassificationCommand.class).get().run(userVisitPK, form);
138    }
139
140    // -------------------------------------------------------------------------
141    //   Taxes
142    // -------------------------------------------------------------------------
143    
144    @Override
145    public CommandResult<VoidResult> createTax(UserVisitPK userVisitPK, CreateTaxForm form) {
146        return CDI.current().select(CreateTaxCommand.class).get().run(userVisitPK, form);
147    }
148    
149    @Override
150    public CommandResult<GetTaxesResult> getTaxes(UserVisitPK userVisitPK, GetTaxesForm form) {
151        return CDI.current().select(GetTaxesCommand.class).get().run(userVisitPK, form);
152    }
153    
154    @Override
155    public CommandResult<GetTaxResult> getTax(UserVisitPK userVisitPK, GetTaxForm form) {
156        return CDI.current().select(GetTaxCommand.class).get().run(userVisitPK, form);
157    }
158    
159    @Override
160    public CommandResult<VoidResult> setDefaultTax(UserVisitPK userVisitPK, SetDefaultTaxForm form) {
161        return CDI.current().select(SetDefaultTaxCommand.class).get().run(userVisitPK, form);
162    }
163    
164    @Override
165    public CommandResult<EditTaxResult> editTax(UserVisitPK userVisitPK, EditTaxForm form) {
166        return CDI.current().select(EditTaxCommand.class).get().run(userVisitPK, form);
167    }
168    
169    @Override
170    public CommandResult<VoidResult> deleteTax(UserVisitPK userVisitPK, DeleteTaxForm form) {
171        return CDI.current().select(DeleteTaxCommand.class).get().run(userVisitPK, form);
172    }
173    
174    // -------------------------------------------------------------------------
175    //   Tax Descriptions
176    // -------------------------------------------------------------------------
177    
178    @Override
179    public CommandResult<VoidResult> createTaxDescription(UserVisitPK userVisitPK, CreateTaxDescriptionForm form) {
180        return CDI.current().select(CreateTaxDescriptionCommand.class).get().run(userVisitPK, form);
181    }
182    
183    @Override
184    public CommandResult<GetTaxDescriptionsResult> getTaxDescriptions(UserVisitPK userVisitPK, GetTaxDescriptionsForm form) {
185        return CDI.current().select(GetTaxDescriptionsCommand.class).get().run(userVisitPK, form);
186    }
187    
188    @Override
189    public CommandResult<EditTaxDescriptionResult> editTaxDescription(UserVisitPK userVisitPK, EditTaxDescriptionForm form) {
190        return CDI.current().select(EditTaxDescriptionCommand.class).get().run(userVisitPK, form);
191    }
192    
193    @Override
194    public CommandResult<VoidResult> deleteTaxDescription(UserVisitPK userVisitPK, DeleteTaxDescriptionForm form) {
195        return CDI.current().select(DeleteTaxDescriptionCommand.class).get().run(userVisitPK, form);
196    }
197    
198    // -------------------------------------------------------------------------
199    //   Geo Code Taxes
200    // -------------------------------------------------------------------------
201    
202    @Override
203    public CommandResult<VoidResult> createGeoCodeTax(UserVisitPK userVisitPK, CreateGeoCodeTaxForm form) {
204        return CDI.current().select(CreateGeoCodeTaxCommand.class).get().run(userVisitPK, form);
205    }
206    
207    @Override
208    public CommandResult<GetGeoCodeTaxesResult> getGeoCodeTaxes(UserVisitPK userVisitPK, GetGeoCodeTaxesForm form) {
209        return CDI.current().select(GetGeoCodeTaxesCommand.class).get().run(userVisitPK, form);
210    }
211    
212    @Override
213    public CommandResult<VoidResult> deleteGeoCodeTax(UserVisitPK userVisitPK, DeleteGeoCodeTaxForm form) {
214        return CDI.current().select(DeleteGeoCodeTaxCommand.class).get().run(userVisitPK, form);
215    }
216    
217}