001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 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.inventory.common;
018
019import com.echothree.control.user.inventory.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface InventoryService
024        extends InventoryForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // -------------------------------------------------------------------------
033    //   Inventory Conditions
034    // -------------------------------------------------------------------------
035    
036    CommandResult createInventoryCondition(UserVisitPK userVisitPK, CreateInventoryConditionForm form);
037    
038    CommandResult getInventoryConditions(UserVisitPK userVisitPK, GetInventoryConditionsForm form);
039    
040    CommandResult getInventoryCondition(UserVisitPK userVisitPK, GetInventoryConditionForm form);
041    
042    CommandResult getInventoryConditionChoices(UserVisitPK userVisitPK, GetInventoryConditionChoicesForm form);
043    
044    CommandResult setDefaultInventoryCondition(UserVisitPK userVisitPK, SetDefaultInventoryConditionForm form);
045    
046    CommandResult editInventoryCondition(UserVisitPK userVisitPK, EditInventoryConditionForm form);
047    
048    CommandResult deleteInventoryCondition(UserVisitPK userVisitPK, DeleteInventoryConditionForm form);
049    
050    // -------------------------------------------------------------------------
051    //   Inventory Condition Descriptions
052    // -------------------------------------------------------------------------
053    
054    CommandResult createInventoryConditionDescription(UserVisitPK userVisitPK, CreateInventoryConditionDescriptionForm form);
055    
056    CommandResult getInventoryConditionDescriptions(UserVisitPK userVisitPK, GetInventoryConditionDescriptionsForm form);
057    
058    CommandResult editInventoryConditionDescription(UserVisitPK userVisitPK, EditInventoryConditionDescriptionForm form);
059    
060    CommandResult deleteInventoryConditionDescription(UserVisitPK userVisitPK, DeleteInventoryConditionDescriptionForm form);
061    
062    // --------------------------------------------------------------------------------
063    //   Inventory Condition Use Types
064    // --------------------------------------------------------------------------------
065    
066    CommandResult createInventoryConditionUseType(UserVisitPK userVisitPK, CreateInventoryConditionUseTypeForm form);
067    
068    CommandResult getInventoryConditionUseTypeChoices(UserVisitPK userVisitPK, GetInventoryConditionUseTypeChoicesForm form);
069    
070    CommandResult getInventoryConditionUseTypes(UserVisitPK userVisitPK, GetInventoryConditionUseTypesForm form);
071    
072    // --------------------------------------------------------------------------------
073    //   Inventory Condition Use Type Descriptions
074    // --------------------------------------------------------------------------------
075    
076    CommandResult createInventoryConditionUseTypeDescription(UserVisitPK userVisitPK, CreateInventoryConditionUseTypeDescriptionForm form);
077    
078    // --------------------------------------------------------------------------------
079    //   Inventory Condition Uses
080    // --------------------------------------------------------------------------------
081    
082    CommandResult createInventoryConditionUse(UserVisitPK userVisitPK, CreateInventoryConditionUseForm form);
083    
084    CommandResult getInventoryConditionUses(UserVisitPK userVisitPK, GetInventoryConditionUsesForm form);
085    
086    CommandResult setDefaultInventoryConditionUse(UserVisitPK userVisitPK, SetDefaultInventoryConditionUseForm form);
087    
088    CommandResult deleteInventoryConditionUse(UserVisitPK userVisitPK, DeleteInventoryConditionUseForm form);
089    
090    // -------------------------------------------------------------------------
091    //   Inventory Location Groups
092    // -------------------------------------------------------------------------
093    
094    CommandResult createInventoryLocationGroup(UserVisitPK userVisitPK, CreateInventoryLocationGroupForm form);
095    
096    CommandResult getInventoryLocationGroups(UserVisitPK userVisitPK, GetInventoryLocationGroupsForm form);
097    
098    CommandResult getInventoryLocationGroup(UserVisitPK userVisitPK, GetInventoryLocationGroupForm form);
099    
100    CommandResult getInventoryLocationGroupChoices(UserVisitPK userVisitPK, GetInventoryLocationGroupChoicesForm form);
101    
102    CommandResult setDefaultInventoryLocationGroup(UserVisitPK userVisitPK, SetDefaultInventoryLocationGroupForm form);
103    
104    CommandResult getInventoryLocationGroupStatusChoices(UserVisitPK userVisitPK, GetInventoryLocationGroupStatusChoicesForm form);
105    
106    CommandResult setInventoryLocationGroupStatus(UserVisitPK userVisitPK, SetInventoryLocationGroupStatusForm form);
107    
108    CommandResult editInventoryLocationGroup(UserVisitPK userVisitPK, EditInventoryLocationGroupForm form);
109    
110    CommandResult deleteInventoryLocationGroup(UserVisitPK userVisitPK, DeleteInventoryLocationGroupForm form);
111    
112    // -------------------------------------------------------------------------
113    //   Inventory Location Group Descriptions
114    // -------------------------------------------------------------------------
115    
116    CommandResult createInventoryLocationGroupDescription(UserVisitPK userVisitPK, CreateInventoryLocationGroupDescriptionForm form);
117    
118    CommandResult getInventoryLocationGroupDescriptions(UserVisitPK userVisitPK, GetInventoryLocationGroupDescriptionsForm form);
119    
120    CommandResult editInventoryLocationGroupDescription(UserVisitPK userVisitPK, EditInventoryLocationGroupDescriptionForm form);
121    
122    CommandResult deleteInventoryLocationGroupDescription(UserVisitPK userVisitPK, DeleteInventoryLocationGroupDescriptionForm form);
123    
124    // --------------------------------------------------------------------------------
125    //   Inventory Location Group Capacities
126    // --------------------------------------------------------------------------------
127    
128    CommandResult createInventoryLocationGroupCapacity(UserVisitPK userVisitPK, CreateInventoryLocationGroupCapacityForm form);
129    
130    CommandResult getInventoryLocationGroupCapacities(UserVisitPK userVisitPK, GetInventoryLocationGroupCapacitiesForm form);
131    
132    CommandResult editInventoryLocationGroupCapacity(UserVisitPK userVisitPK, EditInventoryLocationGroupCapacityForm form);
133    
134    CommandResult deleteInventoryLocationGroupCapacity(UserVisitPK userVisitPK, DeleteInventoryLocationGroupCapacityForm form);
135    
136    // --------------------------------------------------------------------------------
137    //   Inventory Location Group Volumes
138    // --------------------------------------------------------------------------------
139    
140    CommandResult createInventoryLocationGroupVolume(UserVisitPK userVisitPK, CreateInventoryLocationGroupVolumeForm form);
141    
142    CommandResult editInventoryLocationGroupVolume(UserVisitPK userVisitPK, EditInventoryLocationGroupVolumeForm form);
143    
144    CommandResult deleteInventoryLocationGroupVolume(UserVisitPK userVisitPK, DeleteInventoryLocationGroupVolumeForm form);
145
146    // -------------------------------------------------------------------------
147    //   Lots
148    // -------------------------------------------------------------------------
149
150    CommandResult getLots(UserVisitPK userVisitPK, GetLotsForm form);
151
152    CommandResult getLot(UserVisitPK userVisitPK, GetLotForm form);
153
154    // --------------------------------------------------------------------------------
155    //   Lot Time Types
156    // --------------------------------------------------------------------------------
157
158    CommandResult createLotTimeType(UserVisitPK userVisitPK, CreateLotTimeTypeForm form);
159
160    CommandResult getLotTimeTypeChoices(UserVisitPK userVisitPK, GetLotTimeTypeChoicesForm form);
161
162    CommandResult getLotTimeType(UserVisitPK userVisitPK, GetLotTimeTypeForm form);
163
164    CommandResult getLotTimeTypes(UserVisitPK userVisitPK, GetLotTimeTypesForm form);
165
166    CommandResult setDefaultLotTimeType(UserVisitPK userVisitPK, SetDefaultLotTimeTypeForm form);
167
168    CommandResult editLotTimeType(UserVisitPK userVisitPK, EditLotTimeTypeForm form);
169
170    CommandResult deleteLotTimeType(UserVisitPK userVisitPK, DeleteLotTimeTypeForm form);
171
172    // --------------------------------------------------------------------------------
173    //   Lot Time Type Descriptions
174    // --------------------------------------------------------------------------------
175
176    CommandResult createLotTimeTypeDescription(UserVisitPK userVisitPK, CreateLotTimeTypeDescriptionForm form);
177
178    CommandResult getLotTimeTypeDescription(UserVisitPK userVisitPK, GetLotTimeTypeDescriptionForm form);
179
180    CommandResult getLotTimeTypeDescriptions(UserVisitPK userVisitPK, GetLotTimeTypeDescriptionsForm form);
181
182    CommandResult editLotTimeTypeDescription(UserVisitPK userVisitPK, EditLotTimeTypeDescriptionForm form);
183
184    CommandResult deleteLotTimeTypeDescription(UserVisitPK userVisitPK, DeleteLotTimeTypeDescriptionForm form);
185
186    // --------------------------------------------------------------------------------
187    //   Lot Alias Types
188    // --------------------------------------------------------------------------------
189
190    CommandResult createLotAliasType(UserVisitPK userVisitPK, CreateLotAliasTypeForm form);
191
192    CommandResult getLotAliasTypeChoices(UserVisitPK userVisitPK, GetLotAliasTypeChoicesForm form);
193
194    CommandResult getLotAliasType(UserVisitPK userVisitPK, GetLotAliasTypeForm form);
195
196    CommandResult getLotAliasTypes(UserVisitPK userVisitPK, GetLotAliasTypesForm form);
197
198    CommandResult setDefaultLotAliasType(UserVisitPK userVisitPK, SetDefaultLotAliasTypeForm form);
199
200    CommandResult editLotAliasType(UserVisitPK userVisitPK, EditLotAliasTypeForm form);
201
202    CommandResult deleteLotAliasType(UserVisitPK userVisitPK, DeleteLotAliasTypeForm form);
203
204    // --------------------------------------------------------------------------------
205    //   Lot Alias Type Descriptions
206    // --------------------------------------------------------------------------------
207
208    CommandResult createLotAliasTypeDescription(UserVisitPK userVisitPK, CreateLotAliasTypeDescriptionForm form);
209
210    CommandResult getLotAliasTypeDescription(UserVisitPK userVisitPK, GetLotAliasTypeDescriptionForm form);
211
212    CommandResult getLotAliasTypeDescriptions(UserVisitPK userVisitPK, GetLotAliasTypeDescriptionsForm form);
213
214    CommandResult editLotAliasTypeDescription(UserVisitPK userVisitPK, EditLotAliasTypeDescriptionForm form);
215
216    CommandResult deleteLotAliasTypeDescription(UserVisitPK userVisitPK, DeleteLotAliasTypeDescriptionForm form);
217
218    // --------------------------------------------------------------------------------
219    //   Lot Aliases
220    // --------------------------------------------------------------------------------
221
222    CommandResult createLotAlias(UserVisitPK userVisitPK, CreateLotAliasForm form);
223
224    CommandResult getLotAlias(UserVisitPK userVisitPK, GetLotAliasForm form);
225
226    CommandResult getLotAliases(UserVisitPK userVisitPK, GetLotAliasesForm form);
227
228    CommandResult editLotAlias(UserVisitPK userVisitPK, EditLotAliasForm form);
229
230    CommandResult deleteLotAlias(UserVisitPK userVisitPK, DeleteLotAliasForm form);
231
232    // --------------------------------------------------------------------------------
233    //   Party Inventory Levels
234    // --------------------------------------------------------------------------------
235    
236    CommandResult createPartyInventoryLevel(UserVisitPK userVisitPK, CreatePartyInventoryLevelForm form);
237    
238    CommandResult getPartyInventoryLevel(UserVisitPK userVisitPK, GetPartyInventoryLevelForm form);
239    
240    CommandResult getPartyInventoryLevels(UserVisitPK userVisitPK, GetPartyInventoryLevelsForm form);
241    
242    CommandResult editPartyInventoryLevel(UserVisitPK userVisitPK, EditPartyInventoryLevelForm form);
243    
244    CommandResult deletePartyInventoryLevel(UserVisitPK userVisitPK, DeletePartyInventoryLevelForm form);
245    
246    // --------------------------------------------------------------------------------
247    //   Allocation Priorities
248    // --------------------------------------------------------------------------------
249
250    CommandResult createAllocationPriority(UserVisitPK userVisitPK, CreateAllocationPriorityForm form);
251
252    CommandResult getAllocationPriorityChoices(UserVisitPK userVisitPK, GetAllocationPriorityChoicesForm form);
253
254    CommandResult getAllocationPriority(UserVisitPK userVisitPK, GetAllocationPriorityForm form);
255
256    CommandResult getAllocationPriorities(UserVisitPK userVisitPK, GetAllocationPrioritiesForm form);
257
258    CommandResult setDefaultAllocationPriority(UserVisitPK userVisitPK, SetDefaultAllocationPriorityForm form);
259
260    CommandResult editAllocationPriority(UserVisitPK userVisitPK, EditAllocationPriorityForm form);
261
262    CommandResult deleteAllocationPriority(UserVisitPK userVisitPK, DeleteAllocationPriorityForm form);
263
264    // --------------------------------------------------------------------------------
265    //   Allocation Priority Descriptions
266    // --------------------------------------------------------------------------------
267
268    CommandResult createAllocationPriorityDescription(UserVisitPK userVisitPK, CreateAllocationPriorityDescriptionForm form);
269
270    CommandResult getAllocationPriorityDescription(UserVisitPK userVisitPK, GetAllocationPriorityDescriptionForm form);
271
272    CommandResult getAllocationPriorityDescriptions(UserVisitPK userVisitPK, GetAllocationPriorityDescriptionsForm form);
273
274    CommandResult editAllocationPriorityDescription(UserVisitPK userVisitPK, EditAllocationPriorityDescriptionForm form);
275
276    CommandResult deleteAllocationPriorityDescription(UserVisitPK userVisitPK, DeleteAllocationPriorityDescriptionForm form);
277
278}