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.associate.server;
018
019import com.echothree.control.user.associate.common.AssociateRemote;
020import com.echothree.control.user.associate.common.form.*;
021import com.echothree.control.user.associate.common.result.*;
022import com.echothree.control.user.associate.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 AssociateBean
031        extends AssociateFormsImpl
032        implements AssociateRemote, AssociateLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "AssociateBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Associate Programs
045    // -------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<VoidResult> createAssociateProgram(UserVisitPK userVisitPK, CreateAssociateProgramForm form) {
049        return CDI.current().select(CreateAssociateProgramCommand.class).get().run(userVisitPK, form);
050    }
051    
052    @Override
053    public CommandResult<GetAssociateProgramResult> getAssociateProgram(UserVisitPK userVisitPK, GetAssociateProgramForm form) {
054        return CDI.current().select(GetAssociateProgramCommand.class).get().run(userVisitPK, form);
055    }
056    
057    @Override
058    public CommandResult<GetAssociateProgramsResult> getAssociatePrograms(UserVisitPK userVisitPK, GetAssociateProgramsForm form) {
059        return CDI.current().select(GetAssociateProgramsCommand.class).get().run(userVisitPK, form);
060    }
061    
062    @Override
063    public CommandResult<GetAssociateProgramChoicesResult> getAssociateProgramChoices(UserVisitPK userVisitPK, GetAssociateProgramChoicesForm form) {
064        return CDI.current().select(GetAssociateProgramChoicesCommand.class).get().run(userVisitPK, form);
065    }
066    
067    @Override
068    public CommandResult<VoidResult> setDefaultAssociateProgram(UserVisitPK userVisitPK, SetDefaultAssociateProgramForm form) {
069        return CDI.current().select(SetDefaultAssociateProgramCommand.class).get().run(userVisitPK, form);
070    }
071    
072    @Override
073    public CommandResult<EditAssociateProgramResult> editAssociateProgram(UserVisitPK userVisitPK, EditAssociateProgramForm form) {
074        return CDI.current().select(EditAssociateProgramCommand.class).get().run(userVisitPK, form);
075    }
076    
077    @Override
078    public CommandResult<VoidResult> deleteAssociateProgram(UserVisitPK userVisitPK, DeleteAssociateProgramForm form) {
079        return CDI.current().select(DeleteAssociateProgramCommand.class).get().run(userVisitPK, form);
080    }
081    
082    // -------------------------------------------------------------------------
083    //   Associate Program Descriptions
084    // -------------------------------------------------------------------------
085    
086    @Override
087    public CommandResult<VoidResult> createAssociateProgramDescription(UserVisitPK userVisitPK, CreateAssociateProgramDescriptionForm form) {
088        return CDI.current().select(CreateAssociateProgramDescriptionCommand.class).get().run(userVisitPK, form);
089    }
090    
091    @Override
092    public CommandResult<GetAssociateProgramDescriptionsResult> getAssociateProgramDescriptions(UserVisitPK userVisitPK, GetAssociateProgramDescriptionsForm form) {
093        return CDI.current().select(GetAssociateProgramDescriptionsCommand.class).get().run(userVisitPK, form);
094    }
095    
096    @Override
097    public CommandResult<EditAssociateProgramDescriptionResult> editAssociateProgramDescription(UserVisitPK userVisitPK, EditAssociateProgramDescriptionForm form) {
098        return CDI.current().select(EditAssociateProgramDescriptionCommand.class).get().run(userVisitPK, form);
099    }
100    
101    @Override
102    public CommandResult<VoidResult> deleteAssociateProgramDescription(UserVisitPK userVisitPK, DeleteAssociateProgramDescriptionForm form) {
103        return CDI.current().select(DeleteAssociateProgramDescriptionCommand.class).get().run(userVisitPK, form);
104    }
105    
106    // -------------------------------------------------------------------------
107    //   Associates
108    // -------------------------------------------------------------------------
109    
110    @Override
111    public CommandResult<VoidResult> createAssociate(UserVisitPK userVisitPK, CreateAssociateForm form) {
112        return CDI.current().select(CreateAssociateCommand.class).get().run(userVisitPK, form);
113    }
114    
115    @Override
116    public CommandResult<GetAssociateResult> getAssociate(UserVisitPK userVisitPK, GetAssociateForm form) {
117        return CDI.current().select(GetAssociateCommand.class).get().run(userVisitPK, form);
118    }
119    
120    @Override
121    public CommandResult<GetAssociatesResult> getAssociates(UserVisitPK userVisitPK, GetAssociatesForm form) {
122        return CDI.current().select(GetAssociatesCommand.class).get().run(userVisitPK, form);
123    }
124    
125    @Override
126    public CommandResult<GetAssociateChoicesResult> getAssociateChoices(UserVisitPK userVisitPK, GetAssociateChoicesForm form) {
127        return CDI.current().select(GetAssociateChoicesCommand.class).get().run(userVisitPK, form);
128    }
129    
130    @Override
131    public CommandResult<VoidResult> deleteAssociate(UserVisitPK userVisitPK, DeleteAssociateForm form) {
132        return CDI.current().select(DeleteAssociateCommand.class).get().run(userVisitPK, form);
133    }
134    
135    // -------------------------------------------------------------------------
136    //   Associate Contact Mechanisms
137    // -------------------------------------------------------------------------
138    
139    @Override
140    public CommandResult<VoidResult> createAssociatePartyContactMechanism(UserVisitPK userVisitPK, CreateAssociatePartyContactMechanismForm form) {
141        return CDI.current().select(CreateAssociatePartyContactMechanismCommand.class).get().run(userVisitPK, form);
142    }
143    
144    @Override
145    public CommandResult<GetAssociatePartyContactMechanismResult> getAssociatePartyContactMechanism(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismForm form) {
146        return CDI.current().select(GetAssociatePartyContactMechanismCommand.class).get().run(userVisitPK, form);
147    }
148    
149    @Override
150    public CommandResult<GetAssociatePartyContactMechanismsResult> getAssociatePartyContactMechanisms(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismsForm form) {
151        return CDI.current().select(GetAssociatePartyContactMechanismsCommand.class).get().run(userVisitPK, form);
152    }
153    
154    @Override
155    public CommandResult<GetAssociatePartyContactMechanismChoicesResult> getAssociatePartyContactMechanismChoices(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismChoicesForm form) {
156        return CDI.current().select(GetAssociatePartyContactMechanismChoicesCommand.class).get().run(userVisitPK, form);
157    }
158    
159    @Override
160    public CommandResult<VoidResult> setDefaultAssociatePartyContactMechanism(UserVisitPK userVisitPK, SetDefaultAssociatePartyContactMechanismForm form) {
161        return CDI.current().select(SetDefaultAssociatePartyContactMechanismCommand.class).get().run(userVisitPK, form);
162    }
163    
164    @Override
165    public CommandResult<VoidResult> deleteAssociatePartyContactMechanism(UserVisitPK userVisitPK, DeleteAssociatePartyContactMechanismForm form) {
166        return CDI.current().select(DeleteAssociatePartyContactMechanismCommand.class).get().run(userVisitPK, form);
167    }
168    
169    // -------------------------------------------------------------------------
170    //   Associate Referrals
171    // -------------------------------------------------------------------------
172    
173    @Override
174    public CommandResult<GetAssociateReferralResult> getAssociateReferral(UserVisitPK userVisitPK, GetAssociateReferralForm form) {
175        return CDI.current().select(GetAssociateReferralCommand.class).get().run(userVisitPK, form);
176    }
177    
178    @Override
179    public CommandResult<GetAssociateReferralsResult> getAssociateReferrals(UserVisitPK userVisitPK, GetAssociateReferralsForm form) {
180        return CDI.current().select(GetAssociateReferralsCommand.class).get().run(userVisitPK, form);
181    }
182    
183    @Override
184    public CommandResult<VoidResult> deleteAssociateReferral(UserVisitPK userVisitPK, DeleteAssociateReferralForm form) {
185        return CDI.current().select(DeleteAssociateReferralCommand.class).get().run(userVisitPK, form);
186    }
187    
188}