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.period.server;
018
019import com.echothree.control.user.period.common.PeriodRemote;
020import com.echothree.control.user.period.common.form.*;
021import com.echothree.control.user.period.common.result.*;
022import com.echothree.control.user.period.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 PeriodBean
031        extends PeriodFormsImpl
032        implements PeriodRemote, PeriodLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "PeriodBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Period Kinds
045    // -------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<VoidResult> createPeriodKind(UserVisitPK userVisitPK, CreatePeriodKindForm form) {
049        return CDI.current().select(CreatePeriodKindCommand.class).get().run(userVisitPK, form);
050    }
051    
052    @Override
053    public CommandResult<GetPeriodKindsResult> getPeriodKinds(UserVisitPK userVisitPK, GetPeriodKindsForm form) {
054        return CDI.current().select(GetPeriodKindsCommand.class).get().run(userVisitPK, form);
055    }
056    
057    @Override
058    public CommandResult<GetPeriodKindResult> getPeriodKind(UserVisitPK userVisitPK, GetPeriodKindForm form) {
059        return CDI.current().select(GetPeriodKindCommand.class).get().run(userVisitPK, form);
060    }
061    
062    @Override
063    public CommandResult<GetPeriodKindChoicesResult> getPeriodKindChoices(UserVisitPK userVisitPK, GetPeriodKindChoicesForm form) {
064        return CDI.current().select(GetPeriodKindChoicesCommand.class).get().run(userVisitPK, form);
065    }
066    
067    @Override
068    public CommandResult<VoidResult> setDefaultPeriodKind(UserVisitPK userVisitPK, SetDefaultPeriodKindForm form) {
069        return CDI.current().select(SetDefaultPeriodKindCommand.class).get().run(userVisitPK, form);
070    }
071    
072    @Override
073    public CommandResult<EditPeriodKindResult> editPeriodKind(UserVisitPK userVisitPK, EditPeriodKindForm form) {
074        return CDI.current().select(EditPeriodKindCommand.class).get().run(userVisitPK, form);
075    }
076    
077    @Override
078    public CommandResult<VoidResult> deletePeriodKind(UserVisitPK userVisitPK, DeletePeriodKindForm form) {
079        return CDI.current().select(DeletePeriodKindCommand.class).get().run(userVisitPK, form);
080    }
081    
082    // -------------------------------------------------------------------------
083    //   Period Kind Descriptions
084    // -------------------------------------------------------------------------
085    
086    @Override
087    public CommandResult<VoidResult> createPeriodKindDescription(UserVisitPK userVisitPK, CreatePeriodKindDescriptionForm form) {
088        return CDI.current().select(CreatePeriodKindDescriptionCommand.class).get().run(userVisitPK, form);
089    }
090    
091    @Override
092    public CommandResult<GetPeriodKindDescriptionsResult> getPeriodKindDescriptions(UserVisitPK userVisitPK, GetPeriodKindDescriptionsForm form) {
093        return CDI.current().select(GetPeriodKindDescriptionsCommand.class).get().run(userVisitPK, form);
094    }
095    
096    @Override
097    public CommandResult<EditPeriodKindDescriptionResult> editPeriodKindDescription(UserVisitPK userVisitPK, EditPeriodKindDescriptionForm form) {
098        return CDI.current().select(EditPeriodKindDescriptionCommand.class).get().run(userVisitPK, form);
099    }
100    
101    @Override
102    public CommandResult<VoidResult> deletePeriodKindDescription(UserVisitPK userVisitPK, DeletePeriodKindDescriptionForm form) {
103        return CDI.current().select(DeletePeriodKindDescriptionCommand.class).get().run(userVisitPK, form);
104    }
105    
106    // -------------------------------------------------------------------------
107    //   Period Types
108    // -------------------------------------------------------------------------
109    
110    @Override
111    public CommandResult<VoidResult> createPeriodType(UserVisitPK userVisitPK, CreatePeriodTypeForm form) {
112        return CDI.current().select(CreatePeriodTypeCommand.class).get().run(userVisitPK, form);
113    }
114    
115    @Override
116    public CommandResult<GetPeriodTypesResult> getPeriodTypes(UserVisitPK userVisitPK, GetPeriodTypesForm form) {
117        return CDI.current().select(GetPeriodTypesCommand.class).get().run(userVisitPK, form);
118    }
119    
120    @Override
121    public CommandResult<GetPeriodTypeResult> getPeriodType(UserVisitPK userVisitPK, GetPeriodTypeForm form) {
122        return CDI.current().select(GetPeriodTypeCommand.class).get().run(userVisitPK, form);
123    }
124    
125    @Override
126    public CommandResult<GetPeriodTypeChoicesResult> getPeriodTypeChoices(UserVisitPK userVisitPK, GetPeriodTypeChoicesForm form) {
127        return CDI.current().select(GetPeriodTypeChoicesCommand.class).get().run(userVisitPK, form);
128    }
129    
130    @Override
131    public CommandResult<VoidResult> setDefaultPeriodType(UserVisitPK userVisitPK, SetDefaultPeriodTypeForm form) {
132        return CDI.current().select(SetDefaultPeriodTypeCommand.class).get().run(userVisitPK, form);
133    }
134    
135    @Override
136    public CommandResult<EditPeriodTypeResult> editPeriodType(UserVisitPK userVisitPK, EditPeriodTypeForm form) {
137        return CDI.current().select(EditPeriodTypeCommand.class).get().run(userVisitPK, form);
138    }
139    
140    @Override
141    public CommandResult<VoidResult> deletePeriodType(UserVisitPK userVisitPK, DeletePeriodTypeForm form) {
142        return CDI.current().select(DeletePeriodTypeCommand.class).get().run(userVisitPK, form);
143    }
144    
145    // -------------------------------------------------------------------------
146    //   Period Type Descriptions
147    // -------------------------------------------------------------------------
148    
149    @Override
150    public CommandResult<VoidResult> createPeriodTypeDescription(UserVisitPK userVisitPK, CreatePeriodTypeDescriptionForm form) {
151        return CDI.current().select(CreatePeriodTypeDescriptionCommand.class).get().run(userVisitPK, form);
152    }
153    
154    @Override
155    public CommandResult<GetPeriodTypeDescriptionsResult> getPeriodTypeDescriptions(UserVisitPK userVisitPK, GetPeriodTypeDescriptionsForm form) {
156        return CDI.current().select(GetPeriodTypeDescriptionsCommand.class).get().run(userVisitPK, form);
157    }
158    
159    @Override
160    public CommandResult<EditPeriodTypeDescriptionResult> editPeriodTypeDescription(UserVisitPK userVisitPK, EditPeriodTypeDescriptionForm form) {
161        return CDI.current().select(EditPeriodTypeDescriptionCommand.class).get().run(userVisitPK, form);
162    }
163    
164    @Override
165    public CommandResult<VoidResult> deletePeriodTypeDescription(UserVisitPK userVisitPK, DeletePeriodTypeDescriptionForm form) {
166        return CDI.current().select(DeletePeriodTypeDescriptionCommand.class).get().run(userVisitPK, form);
167    }
168    
169    // -------------------------------------------------------------------------
170    //   Fiscal Periods
171    // -------------------------------------------------------------------------
172    
173    @Override
174    public CommandResult<CreateFiscalYearResult> createFiscalYear(UserVisitPK userVisitPK, CreateFiscalYearForm form) {
175        return CDI.current().select(CreateFiscalYearCommand.class).get().run(userVisitPK, form);
176    }
177    
178    @Override
179    public CommandResult<GetFiscalPeriodStatusChoicesResult> getFiscalPeriodStatusChoices(UserVisitPK userVisitPK, GetFiscalPeriodStatusChoicesForm form) {
180        return CDI.current().select(GetFiscalPeriodStatusChoicesCommand.class).get().run(userVisitPK, form);
181    }
182    
183    @Override
184    public CommandResult<VoidResult> setFiscalPeriodStatus(UserVisitPK userVisitPK, SetFiscalPeriodStatusForm form) {
185        return CDI.current().select(SetFiscalPeriodStatusCommand.class).get().run(userVisitPK, form);
186    }
187    
188}