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.sales.server;
018
019import com.echothree.control.user.sales.common.SalesRemote;
020import com.echothree.control.user.sales.common.form.*;
021import com.echothree.control.user.sales.common.result.*;
022import com.echothree.control.user.sales.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 SalesBean
031        extends SalesFormsImpl
032        implements SalesRemote, SalesLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "SalesBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Sales Order Batches
045    // -------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<CreateSalesOrderBatchResult> createSalesOrderBatch(UserVisitPK userVisitPK, CreateSalesOrderBatchForm form) {
049        return CDI.current().select(CreateSalesOrderBatchCommand.class).get().run(userVisitPK, form);
050    }
051    
052    @Override
053    public CommandResult<GetSalesOrderBatchResult> getSalesOrderBatch(UserVisitPK userVisitPK, GetSalesOrderBatchForm form) {
054        return CDI.current().select(GetSalesOrderBatchCommand.class).get().run(userVisitPK, form);
055    }
056
057    @Override
058    public CommandResult<GetSalesOrderBatchesResult> getSalesOrderBatches(UserVisitPK userVisitPK, GetSalesOrderBatchesForm form) {
059        return CDI.current().select(GetSalesOrderBatchesCommand.class).get().run(userVisitPK, form);
060    }
061    
062    @Override
063    public CommandResult<GetSalesOrderBatchStatusChoicesResult> getSalesOrderBatchStatusChoices(UserVisitPK userVisitPK, GetSalesOrderBatchStatusChoicesForm form) {
064        return CDI.current().select(GetSalesOrderBatchStatusChoicesCommand.class).get().run(userVisitPK, form);
065    }
066    
067    @Override
068    public CommandResult<VoidResult> setSalesOrderBatchStatus(UserVisitPK userVisitPK, SetSalesOrderBatchStatusForm form) {
069        return CDI.current().select(SetSalesOrderBatchStatusCommand.class).get().run(userVisitPK, form);
070    }
071    
072    @Override
073    public CommandResult<EditSalesOrderBatchResult> editSalesOrderBatch(UserVisitPK userVisitPK, EditSalesOrderBatchForm form) {
074        return CDI.current().select(EditSalesOrderBatchCommand.class).get().run(userVisitPK, form);
075    }
076
077    @Override
078    public CommandResult<VoidResult> deleteSalesOrderBatch(UserVisitPK userVisitPK, DeleteSalesOrderBatchForm form) {
079        return CDI.current().select(DeleteSalesOrderBatchCommand.class).get().run(userVisitPK, form);
080    }
081
082    // -------------------------------------------------------------------------
083    //   Sales Orders
084    // -------------------------------------------------------------------------
085    
086    @Override
087    public CommandResult<CreateSalesOrderResult> createSalesOrder(UserVisitPK userVisitPK, CreateSalesOrderForm form) {
088        return CDI.current().select(CreateSalesOrderCommand.class).get().run(userVisitPK, form);
089    }
090    
091    @Override
092    public CommandResult<GetSalesOrderStatusChoicesResult> getSalesOrderStatusChoices(UserVisitPK userVisitPK, GetSalesOrderStatusChoicesForm form) {
093        return CDI.current().select(GetSalesOrderStatusChoicesCommand.class).get().run(userVisitPK, form);
094    }
095    
096    @Override
097    public CommandResult<VoidResult> setSalesOrderStatus(UserVisitPK userVisitPK, SetSalesOrderStatusForm form) {
098        return CDI.current().select(SetSalesOrderStatusCommand.class).get().run(userVisitPK, form);
099    }
100    
101    // -------------------------------------------------------------------------
102    //   Sales Order Payment Preferences
103    // -------------------------------------------------------------------------
104    
105    @Override
106    public CommandResult<CreateSalesOrderPaymentPreferenceResult> createSalesOrderPaymentPreference(UserVisitPK userVisitPK, CreateSalesOrderPaymentPreferenceForm form) {
107        return CDI.current().select(CreateSalesOrderPaymentPreferenceCommand.class).get().run(userVisitPK, form);
108    }
109    
110    // -------------------------------------------------------------------------
111    //   Sales Order Times
112    // -------------------------------------------------------------------------
113    
114    @Override
115    public CommandResult<VoidResult> createSalesOrderTime(UserVisitPK userVisitPK, CreateSalesOrderTimeForm form) {
116        return CDI.current().select(CreateSalesOrderTimeCommand.class).get().run(userVisitPK, form);
117    }
118    
119    @Override
120    public CommandResult<GetSalesOrderTimeResult> getSalesOrderTime(UserVisitPK userVisitPK, GetSalesOrderTimeForm form) {
121        return CDI.current().select(GetSalesOrderTimeCommand.class).get().run(userVisitPK, form);
122    }
123
124    @Override
125    public CommandResult<GetSalesOrderTimesResult> getSalesOrderTimes(UserVisitPK userVisitPK, GetSalesOrderTimesForm form) {
126        return CDI.current().select(GetSalesOrderTimesCommand.class).get().run(userVisitPK, form);
127    }
128    
129    @Override
130    public CommandResult<EditSalesOrderTimeResult> editSalesOrderTime(UserVisitPK userVisitPK, EditSalesOrderTimeForm form) {
131        return CDI.current().select(EditSalesOrderTimeCommand.class).get().run(userVisitPK, form);
132    }
133
134    @Override
135    public CommandResult<VoidResult> deleteSalesOrderTime(UserVisitPK userVisitPK, DeleteSalesOrderTimeForm form) {
136        return CDI.current().select(DeleteSalesOrderTimeCommand.class).get().run(userVisitPK, form);
137    }
138
139    // -------------------------------------------------------------------------
140    //   Sales Order Lines
141    // -------------------------------------------------------------------------
142
143    @Override
144    public CommandResult<CreateSalesOrderLineResult> createSalesOrderLine(UserVisitPK userVisitPK, CreateSalesOrderLineForm form) {
145        return CDI.current().select(CreateSalesOrderLineCommand.class).get().run(userVisitPK, form);
146    }
147
148    // -------------------------------------------------------------------------
149    //   Sales Order Shipment Groups
150    // -------------------------------------------------------------------------
151
152    @Override
153    public CommandResult<EditSalesOrderShipmentGroupResult> editSalesOrderShipmentGroup(UserVisitPK userVisitPK, EditSalesOrderShipmentGroupForm form) {
154        return CDI.current().select(EditSalesOrderShipmentGroupCommand.class).get().run(userVisitPK, form);
155    }
156
157    // -------------------------------------------------------------------------
158    //   Sales Order Line Times
159    // -------------------------------------------------------------------------
160    
161    @Override
162    public CommandResult<VoidResult> createSalesOrderLineTime(UserVisitPK userVisitPK, CreateSalesOrderLineTimeForm form) {
163        return CDI.current().select(CreateSalesOrderLineTimeCommand.class).get().run(userVisitPK, form);
164    }
165    
166    @Override
167    public CommandResult<GetSalesOrderLineTimeResult> getSalesOrderLineTime(UserVisitPK userVisitPK, GetSalesOrderLineTimeForm form) {
168        return CDI.current().select(GetSalesOrderLineTimeCommand.class).get().run(userVisitPK, form);
169    }
170
171    @Override
172    public CommandResult<GetSalesOrderLineTimesResult> getSalesOrderLineTimes(UserVisitPK userVisitPK, GetSalesOrderLineTimesForm form) {
173        return CDI.current().select(GetSalesOrderLineTimesCommand.class).get().run(userVisitPK, form);
174    }
175    
176    @Override
177    public CommandResult<EditSalesOrderLineTimeResult> editSalesOrderLineTime(UserVisitPK userVisitPK, EditSalesOrderLineTimeForm form) {
178        return CDI.current().select(EditSalesOrderLineTimeCommand.class).get().run(userVisitPK, form);
179    }
180
181    @Override
182    public CommandResult<VoidResult> deleteSalesOrderLineTime(UserVisitPK userVisitPK, DeleteSalesOrderLineTimeForm form) {
183        return CDI.current().select(DeleteSalesOrderLineTimeCommand.class).get().run(userVisitPK, form);
184    }
185
186}