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.invoice.server;
018
019import com.echothree.control.user.invoice.common.InvoiceRemote;
020import com.echothree.control.user.invoice.common.form.*;
021import com.echothree.control.user.invoice.common.result.*;
022import com.echothree.control.user.invoice.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 InvoiceBean
031        extends InvoiceFormsImpl
032        implements InvoiceRemote, InvoiceLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "InvoiceBean is alive!";
041    }
042    
043    // --------------------------------------------------------------------------------
044    //   Invoice Line Use Types
045    // --------------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<VoidResult> createInvoiceLineUseType(UserVisitPK userVisitPK, CreateInvoiceLineUseTypeForm form) {
049        return CDI.current().select(CreateInvoiceLineUseTypeCommand.class).get().run(userVisitPK, form);
050    }
051    
052    // --------------------------------------------------------------------------------
053    //   Invoice Line Use Type Descriptions
054    // --------------------------------------------------------------------------------
055    
056    @Override
057    public CommandResult<VoidResult> createInvoiceLineUseTypeDescription(UserVisitPK userVisitPK, CreateInvoiceLineUseTypeDescriptionForm form) {
058        return CDI.current().select(CreateInvoiceLineUseTypeDescriptionCommand.class).get().run(userVisitPK, form);
059    }
060    
061    // --------------------------------------------------------------------------------
062    //   Invoice Role Type Types
063    // --------------------------------------------------------------------------------
064    
065    @Override
066    public CommandResult<VoidResult> createInvoiceRoleType(UserVisitPK userVisitPK, CreateInvoiceRoleTypeForm form) {
067        return CDI.current().select(CreateInvoiceRoleTypeCommand.class).get().run(userVisitPK, form);
068    }
069    
070    // --------------------------------------------------------------------------------
071    //   Invoice Role Type Descriptions
072    // --------------------------------------------------------------------------------
073    
074    @Override
075    public CommandResult<VoidResult> createInvoiceRoleTypeDescription(UserVisitPK userVisitPK, CreateInvoiceRoleTypeDescriptionForm form) {
076        return CDI.current().select(CreateInvoiceRoleTypeDescriptionCommand.class).get().run(userVisitPK, form);
077    }
078    
079    // --------------------------------------------------------------------------------
080    //   Invoice Types
081    // --------------------------------------------------------------------------------
082    
083    @Override
084    public CommandResult<VoidResult> createInvoiceType(UserVisitPK userVisitPK, CreateInvoiceTypeForm form) {
085        return CDI.current().select(CreateInvoiceTypeCommand.class).get().run(userVisitPK, form);
086    }
087    
088    @Override
089    public CommandResult<GetInvoiceTypeChoicesResult> getInvoiceTypeChoices(UserVisitPK userVisitPK, GetInvoiceTypeChoicesForm form) {
090        return CDI.current().select(GetInvoiceTypeChoicesCommand.class).get().run(userVisitPK, form);
091    }
092    
093    @Override
094    public CommandResult<GetInvoiceTypeResult> getInvoiceType(UserVisitPK userVisitPK, GetInvoiceTypeForm form) {
095        return CDI.current().select(GetInvoiceTypeCommand.class).get().run(userVisitPK, form);
096    }
097    
098    @Override
099    public CommandResult<GetInvoiceTypesResult> getInvoiceTypes(UserVisitPK userVisitPK, GetInvoiceTypesForm form) {
100        return CDI.current().select(GetInvoiceTypesCommand.class).get().run(userVisitPK, form);
101    }
102    
103    @Override
104    public CommandResult<VoidResult> setDefaultInvoiceType(UserVisitPK userVisitPK, SetDefaultInvoiceTypeForm form) {
105        return CDI.current().select(SetDefaultInvoiceTypeCommand.class).get().run(userVisitPK, form);
106    }
107    
108    @Override
109    public CommandResult<EditInvoiceTypeResult> editInvoiceType(UserVisitPK userVisitPK, EditInvoiceTypeForm form) {
110        return CDI.current().select(EditInvoiceTypeCommand.class).get().run(userVisitPK, form);
111    }
112    
113    @Override
114    public CommandResult<VoidResult> deleteInvoiceType(UserVisitPK userVisitPK, DeleteInvoiceTypeForm form) {
115        return CDI.current().select(DeleteInvoiceTypeCommand.class).get().run(userVisitPK, form);
116    }
117    
118    // --------------------------------------------------------------------------------
119    //   Invoice Type Descriptions
120    // --------------------------------------------------------------------------------
121    
122    @Override
123    public CommandResult<VoidResult> createInvoiceTypeDescription(UserVisitPK userVisitPK, CreateInvoiceTypeDescriptionForm form) {
124        return CDI.current().select(CreateInvoiceTypeDescriptionCommand.class).get().run(userVisitPK, form);
125    }
126    
127    @Override
128    public CommandResult<GetInvoiceTypeDescriptionsResult> getInvoiceTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceTypeDescriptionsForm form) {
129        return CDI.current().select(GetInvoiceTypeDescriptionsCommand.class).get().run(userVisitPK, form);
130    }
131    
132    @Override
133    public CommandResult<EditInvoiceTypeDescriptionResult> editInvoiceTypeDescription(UserVisitPK userVisitPK, EditInvoiceTypeDescriptionForm form) {
134        return CDI.current().select(EditInvoiceTypeDescriptionCommand.class).get().run(userVisitPK, form);
135    }
136    
137    @Override
138    public CommandResult<VoidResult> deleteInvoiceTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceTypeDescriptionForm form) {
139        return CDI.current().select(DeleteInvoiceTypeDescriptionCommand.class).get().run(userVisitPK, form);
140    }
141    
142    // --------------------------------------------------------------------------------
143    //   Invoice Time Types
144    // --------------------------------------------------------------------------------
145
146    @Override
147    public CommandResult<VoidResult> createInvoiceTimeType(UserVisitPK userVisitPK, CreateInvoiceTimeTypeForm form) {
148        return CDI.current().select(CreateInvoiceTimeTypeCommand.class).get().run(userVisitPK, form);
149    }
150
151    @Override
152    public CommandResult<GetInvoiceTimeTypeChoicesResult> getInvoiceTimeTypeChoices(UserVisitPK userVisitPK, GetInvoiceTimeTypeChoicesForm form) {
153        return CDI.current().select(GetInvoiceTimeTypeChoicesCommand.class).get().run(userVisitPK, form);
154    }
155
156    @Override
157    public CommandResult<GetInvoiceTimeTypeResult> getInvoiceTimeType(UserVisitPK userVisitPK, GetInvoiceTimeTypeForm form) {
158        return CDI.current().select(GetInvoiceTimeTypeCommand.class).get().run(userVisitPK, form);
159    }
160
161    @Override
162    public CommandResult<GetInvoiceTimeTypesResult> getInvoiceTimeTypes(UserVisitPK userVisitPK, GetInvoiceTimeTypesForm form) {
163        return CDI.current().select(GetInvoiceTimeTypesCommand.class).get().run(userVisitPK, form);
164    }
165
166    @Override
167    public CommandResult<VoidResult> setDefaultInvoiceTimeType(UserVisitPK userVisitPK, SetDefaultInvoiceTimeTypeForm form) {
168        return CDI.current().select(SetDefaultInvoiceTimeTypeCommand.class).get().run(userVisitPK, form);
169    }
170
171    @Override
172    public CommandResult<EditInvoiceTimeTypeResult> editInvoiceTimeType(UserVisitPK userVisitPK, EditInvoiceTimeTypeForm form) {
173        return CDI.current().select(EditInvoiceTimeTypeCommand.class).get().run(userVisitPK, form);
174    }
175
176    @Override
177    public CommandResult<VoidResult> deleteInvoiceTimeType(UserVisitPK userVisitPK, DeleteInvoiceTimeTypeForm form) {
178        return CDI.current().select(DeleteInvoiceTimeTypeCommand.class).get().run(userVisitPK, form);
179    }
180
181    // --------------------------------------------------------------------------------
182    //   Invoice Time Type Descriptions
183    // --------------------------------------------------------------------------------
184
185    @Override
186    public CommandResult<VoidResult> createInvoiceTimeTypeDescription(UserVisitPK userVisitPK, CreateInvoiceTimeTypeDescriptionForm form) {
187        return CDI.current().select(CreateInvoiceTimeTypeDescriptionCommand.class).get().run(userVisitPK, form);
188    }
189
190    @Override
191    public CommandResult<GetInvoiceTimeTypeDescriptionResult> getInvoiceTimeTypeDescription(UserVisitPK userVisitPK, GetInvoiceTimeTypeDescriptionForm form) {
192        return CDI.current().select(GetInvoiceTimeTypeDescriptionCommand.class).get().run(userVisitPK, form);
193    }
194
195    @Override
196    public CommandResult<GetInvoiceTimeTypeDescriptionsResult> getInvoiceTimeTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceTimeTypeDescriptionsForm form) {
197        return CDI.current().select(GetInvoiceTimeTypeDescriptionsCommand.class).get().run(userVisitPK, form);
198    }
199
200    @Override
201    public CommandResult<EditInvoiceTimeTypeDescriptionResult> editInvoiceTimeTypeDescription(UserVisitPK userVisitPK, EditInvoiceTimeTypeDescriptionForm form) {
202        return CDI.current().select(EditInvoiceTimeTypeDescriptionCommand.class).get().run(userVisitPK, form);
203    }
204
205    @Override
206    public CommandResult<VoidResult> deleteInvoiceTimeTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceTimeTypeDescriptionForm form) {
207        return CDI.current().select(DeleteInvoiceTimeTypeDescriptionCommand.class).get().run(userVisitPK, form);
208    }
209
210    // --------------------------------------------------------------------------------
211    //   Invoice Line Types
212    // --------------------------------------------------------------------------------
213    
214    @Override
215    public CommandResult<VoidResult> createInvoiceLineType(UserVisitPK userVisitPK, CreateInvoiceLineTypeForm form) {
216        return CDI.current().select(CreateInvoiceLineTypeCommand.class).get().run(userVisitPK, form);
217    }
218    
219    @Override
220    public CommandResult<GetInvoiceLineTypeChoicesResult> getInvoiceLineTypeChoices(UserVisitPK userVisitPK, GetInvoiceLineTypeChoicesForm form) {
221        return CDI.current().select(GetInvoiceLineTypeChoicesCommand.class).get().run(userVisitPK, form);
222    }
223    
224    @Override
225    public CommandResult<GetInvoiceLineTypeResult> getInvoiceLineType(UserVisitPK userVisitPK, GetInvoiceLineTypeForm form) {
226        return CDI.current().select(GetInvoiceLineTypeCommand.class).get().run(userVisitPK, form);
227    }
228    
229    @Override
230    public CommandResult<GetInvoiceLineTypesResult> getInvoiceLineTypes(UserVisitPK userVisitPK, GetInvoiceLineTypesForm form) {
231        return CDI.current().select(GetInvoiceLineTypesCommand.class).get().run(userVisitPK, form);
232    }
233    
234    @Override
235    public CommandResult<VoidResult> setDefaultInvoiceLineType(UserVisitPK userVisitPK, SetDefaultInvoiceLineTypeForm form) {
236        return CDI.current().select(SetDefaultInvoiceLineTypeCommand.class).get().run(userVisitPK, form);
237    }
238    
239    @Override
240    public CommandResult<EditInvoiceLineTypeResult> editInvoiceLineType(UserVisitPK userVisitPK, EditInvoiceLineTypeForm form) {
241        return CDI.current().select(EditInvoiceLineTypeCommand.class).get().run(userVisitPK, form);
242    }
243    
244    @Override
245    public CommandResult<VoidResult> deleteInvoiceLineType(UserVisitPK userVisitPK, DeleteInvoiceLineTypeForm form) {
246        return CDI.current().select(DeleteInvoiceLineTypeCommand.class).get().run(userVisitPK, form);
247    }
248    
249    // --------------------------------------------------------------------------------
250    //   Invoice Line Type Descriptions
251    // --------------------------------------------------------------------------------
252    
253    @Override
254    public CommandResult<VoidResult> createInvoiceLineTypeDescription(UserVisitPK userVisitPK, CreateInvoiceLineTypeDescriptionForm form) {
255        return CDI.current().select(CreateInvoiceLineTypeDescriptionCommand.class).get().run(userVisitPK, form);
256    }
257    
258    @Override
259    public CommandResult<GetInvoiceLineTypeDescriptionsResult> getInvoiceLineTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceLineTypeDescriptionsForm form) {
260        return CDI.current().select(GetInvoiceLineTypeDescriptionsCommand.class).get().run(userVisitPK, form);
261    }
262    
263    @Override
264    public CommandResult<EditInvoiceLineTypeDescriptionResult> editInvoiceLineTypeDescription(UserVisitPK userVisitPK, EditInvoiceLineTypeDescriptionForm form) {
265        return CDI.current().select(EditInvoiceLineTypeDescriptionCommand.class).get().run(userVisitPK, form);
266    }
267    
268    @Override
269    public CommandResult<VoidResult> deleteInvoiceLineTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceLineTypeDescriptionForm form) {
270        return CDI.current().select(DeleteInvoiceLineTypeDescriptionCommand.class).get().run(userVisitPK, form);
271    }
272    
273}