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.purchase.server; 018 019import com.echothree.control.user.purchase.common.PurchaseRemote; 020import com.echothree.control.user.purchase.common.form.*; 021import com.echothree.control.user.purchase.common.result.*; 022import com.echothree.control.user.purchase.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 PurchaseBean 031 extends PurchaseFormsImpl 032 implements PurchaseRemote, PurchaseLocal { 033 034 // ------------------------------------------------------------------------- 035 // Testing 036 // ------------------------------------------------------------------------- 037 038 @Override 039 public String ping() { 040 return "PurchaseBean is alive!"; 041 } 042 043 // -------------------------------------------------------------------------------- 044 // Purchase Orders 045 // -------------------------------------------------------------------------------- 046 047 @Override 048 public CommandResult<CreatePurchaseOrderResult> createPurchaseOrder(UserVisitPK userVisitPK, CreatePurchaseOrderForm form) { 049 return CDI.current().select(CreatePurchaseOrderCommand.class).get().run(userVisitPK, form); 050 } 051 052 @Override 053 public CommandResult<GetPurchaseOrderStatusChoicesResult> getPurchaseOrderStatusChoices(UserVisitPK userVisitPK, GetPurchaseOrderStatusChoicesForm form) { 054 return CDI.current().select(GetPurchaseOrderStatusChoicesCommand.class).get().run(userVisitPK, form); 055 } 056 057 @Override 058 public CommandResult<VoidResult> setPurchaseOrderStatus(UserVisitPK userVisitPK, SetPurchaseOrderStatusForm form) { 059 return CDI.current().select(SetPurchaseOrderStatusCommand.class).get().run(userVisitPK, form); 060 } 061 062 // -------------------------------------------------------------------------------- 063 // Purchase Invoices 064 // -------------------------------------------------------------------------------- 065 066 @Override 067 public CommandResult<CreatePurchaseInvoiceResult> createPurchaseInvoice(UserVisitPK userVisitPK, CreatePurchaseInvoiceForm form) { 068 return CDI.current().select(CreatePurchaseInvoiceCommand.class).get().run(userVisitPK, form); 069 } 070 071 @Override 072 public CommandResult<GetPurchaseInvoiceStatusChoicesResult> getPurchaseInvoiceStatusChoices(UserVisitPK userVisitPK, GetPurchaseInvoiceStatusChoicesForm form) { 073 return CDI.current().select(GetPurchaseInvoiceStatusChoicesCommand.class).get().run(userVisitPK, form); 074 } 075 076 @Override 077 public CommandResult<VoidResult> setPurchaseInvoiceStatus(UserVisitPK userVisitPK, SetPurchaseInvoiceStatusForm form) { 078 return CDI.current().select(SetPurchaseInvoiceStatusCommand.class).get().run(userVisitPK, form); 079 } 080 081 // -------------------------------------------------------------------------------- 082 // Purchase Invoice Lines 083 // -------------------------------------------------------------------------------- 084 085 @Override 086 public CommandResult<CreatePurchaseInvoiceLineResult> createPurchaseInvoiceLine(UserVisitPK userVisitPK, CreatePurchaseInvoiceLineForm form) { 087 return CDI.current().select(CreatePurchaseInvoiceLineCommand.class).get().run(userVisitPK, form); 088 } 089 090}