001// --------------------------------------------------------------------------------
002// Copyright 2002-2025 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.accounting.common;
018
019import com.echothree.control.user.accounting.common.form.*;
020import com.echothree.control.user.order.common.form.CreateOrderTimeTypeDescriptionForm;
021import com.echothree.control.user.order.common.form.CreateOrderTimeTypeForm;
022import com.echothree.control.user.order.common.form.DeleteOrderTimeTypeDescriptionForm;
023import com.echothree.control.user.order.common.form.DeleteOrderTimeTypeForm;
024import com.echothree.control.user.order.common.form.EditOrderTimeTypeDescriptionForm;
025import com.echothree.control.user.order.common.form.EditOrderTimeTypeForm;
026import com.echothree.control.user.order.common.form.GetOrderTimeTypeChoicesForm;
027import com.echothree.control.user.order.common.form.GetOrderTimeTypeDescriptionForm;
028import com.echothree.control.user.order.common.form.GetOrderTimeTypeDescriptionsForm;
029import com.echothree.control.user.order.common.form.GetOrderTimeTypeForm;
030import com.echothree.control.user.order.common.form.GetOrderTimeTypesForm;
031import com.echothree.control.user.order.common.form.SetDefaultOrderTimeTypeForm;
032import com.echothree.model.data.user.common.pk.UserVisitPK;
033import com.echothree.util.common.command.CommandResult;
034
035public interface AccountingService
036        extends AccountingForms {
037    
038    // -------------------------------------------------------------------------
039    //   Testing
040    // -------------------------------------------------------------------------
041    
042    String ping();
043    
044    // -------------------------------------------------------------------------
045    //   Currencies
046    // -------------------------------------------------------------------------
047    
048    CommandResult createCurrency(UserVisitPK userVisitPK, CreateCurrencyForm form);
049    
050    CommandResult setDefaultCurrency(UserVisitPK userVisitPK, SetDefaultCurrencyForm form);
051    
052    CommandResult getCurrencyChoices(UserVisitPK userVisitPK, GetCurrencyChoicesForm form);
053    
054    CommandResult getCurrencies(UserVisitPK userVisitPK, GetCurrenciesForm form);
055    
056    CommandResult getCurrency(UserVisitPK userVisitPK, GetCurrencyForm form);
057
058    CommandResult getPreferredCurrency(UserVisitPK userVisitPK, GetPreferredCurrencyForm form);
059
060    // -------------------------------------------------------------------------
061    //   Currency Descriptions
062    // -------------------------------------------------------------------------
063    
064    CommandResult createCurrencyDescription(UserVisitPK userVisitPK, CreateCurrencyDescriptionForm form);
065    
066    CommandResult getCurrencyDescriptions(UserVisitPK userVisitPK, GetCurrencyDescriptionsForm form);
067    
068    // --------------------------------------------------------------------------------
069    //   Item Accounting Categories
070    // --------------------------------------------------------------------------------
071    
072    CommandResult createItemAccountingCategory(UserVisitPK userVisitPK, CreateItemAccountingCategoryForm form);
073    
074    CommandResult getItemAccountingCategoryChoices(UserVisitPK userVisitPK, GetItemAccountingCategoryChoicesForm form);
075    
076    CommandResult getItemAccountingCategory(UserVisitPK userVisitPK, GetItemAccountingCategoryForm form);
077    
078    CommandResult getItemAccountingCategories(UserVisitPK userVisitPK, GetItemAccountingCategoriesForm form);
079    
080    CommandResult setDefaultItemAccountingCategory(UserVisitPK userVisitPK, SetDefaultItemAccountingCategoryForm form);
081    
082    CommandResult editItemAccountingCategory(UserVisitPK userVisitPK, EditItemAccountingCategoryForm form);
083    
084    CommandResult deleteItemAccountingCategory(UserVisitPK userVisitPK, DeleteItemAccountingCategoryForm form);
085    
086    // --------------------------------------------------------------------------------
087    //   Item Accounting Category Descriptions
088    // --------------------------------------------------------------------------------
089    
090    CommandResult createItemAccountingCategoryDescription(UserVisitPK userVisitPK, CreateItemAccountingCategoryDescriptionForm form);
091    
092    CommandResult getItemAccountingCategoryDescription(UserVisitPK userVisitPK, GetItemAccountingCategoryDescriptionForm form);
093    
094    CommandResult getItemAccountingCategoryDescriptions(UserVisitPK userVisitPK, GetItemAccountingCategoryDescriptionsForm form);
095    
096    CommandResult editItemAccountingCategoryDescription(UserVisitPK userVisitPK, EditItemAccountingCategoryDescriptionForm form);
097    
098    CommandResult deleteItemAccountingCategoryDescription(UserVisitPK userVisitPK, DeleteItemAccountingCategoryDescriptionForm form);
099    
100    // --------------------------------------------------------------------------------
101    //   Gl Account Types
102    // --------------------------------------------------------------------------------
103    
104    CommandResult createGlAccountType(UserVisitPK userVisitPK, CreateGlAccountTypeForm form);
105    
106    CommandResult getGlAccountType(UserVisitPK userVisitPK, GetGlAccountTypeForm form);
107    
108    CommandResult getGlAccountTypes(UserVisitPK userVisitPK, GetGlAccountTypesForm form);
109    
110    CommandResult getGlAccountTypeChoices(UserVisitPK userVisitPK, GetGlAccountTypeChoicesForm form);
111    
112    // --------------------------------------------------------------------------------
113    //   Gl Account Type Descriptions
114    // --------------------------------------------------------------------------------
115    
116    CommandResult createGlAccountTypeDescription(UserVisitPK userVisitPK, CreateGlAccountTypeDescriptionForm form);
117    
118    // --------------------------------------------------------------------------------
119    //   Gl Account Classes
120    // --------------------------------------------------------------------------------
121    
122    CommandResult createGlAccountClass(UserVisitPK userVisitPK, CreateGlAccountClassForm form);
123    
124    CommandResult getGlAccountClassChoices(UserVisitPK userVisitPK, GetGlAccountClassChoicesForm form);
125    
126    CommandResult getGlAccountClass(UserVisitPK userVisitPK, GetGlAccountClassForm form);
127    
128    CommandResult getGlAccountClasses(UserVisitPK userVisitPK, GetGlAccountClassesForm form);
129    
130    CommandResult setDefaultGlAccountClass(UserVisitPK userVisitPK, SetDefaultGlAccountClassForm form);
131    
132    CommandResult editGlAccountClass(UserVisitPK userVisitPK, EditGlAccountClassForm form);
133    
134    CommandResult deleteGlAccountClass(UserVisitPK userVisitPK, DeleteGlAccountClassForm form);
135    
136    // --------------------------------------------------------------------------------
137    //   Gl Account Class Descriptions
138    // --------------------------------------------------------------------------------
139    
140    CommandResult createGlAccountClassDescription(UserVisitPK userVisitPK, CreateGlAccountClassDescriptionForm form);
141    
142    CommandResult getGlAccountClassDescription(UserVisitPK userVisitPK, GetGlAccountClassDescriptionForm form);
143    
144    CommandResult getGlAccountClassDescriptions(UserVisitPK userVisitPK, GetGlAccountClassDescriptionsForm form);
145    
146    CommandResult editGlAccountClassDescription(UserVisitPK userVisitPK, EditGlAccountClassDescriptionForm form);
147    
148    CommandResult deleteGlAccountClassDescription(UserVisitPK userVisitPK, DeleteGlAccountClassDescriptionForm form);
149    
150    // --------------------------------------------------------------------------------
151    //   Gl Account Categories
152    // --------------------------------------------------------------------------------
153    
154    CommandResult createGlAccountCategory(UserVisitPK userVisitPK, CreateGlAccountCategoryForm form);
155    
156    CommandResult getGlAccountCategoryChoices(UserVisitPK userVisitPK, GetGlAccountCategoryChoicesForm form);
157    
158    CommandResult getGlAccountCategory(UserVisitPK userVisitPK, GetGlAccountCategoryForm form);
159    
160    CommandResult getGlAccountCategories(UserVisitPK userVisitPK, GetGlAccountCategoriesForm form);
161    
162    CommandResult setDefaultGlAccountCategory(UserVisitPK userVisitPK, SetDefaultGlAccountCategoryForm form);
163    
164    CommandResult editGlAccountCategory(UserVisitPK userVisitPK, EditGlAccountCategoryForm form);
165    
166    CommandResult deleteGlAccountCategory(UserVisitPK userVisitPK, DeleteGlAccountCategoryForm form);
167    
168    // --------------------------------------------------------------------------------
169    //   Gl Account Category Descriptions
170    // --------------------------------------------------------------------------------
171    
172    CommandResult createGlAccountCategoryDescription(UserVisitPK userVisitPK, CreateGlAccountCategoryDescriptionForm form);
173    
174    CommandResult getGlAccountCategoryDescription(UserVisitPK userVisitPK, GetGlAccountCategoryDescriptionForm form);
175    
176    CommandResult getGlAccountCategoryDescriptions(UserVisitPK userVisitPK, GetGlAccountCategoryDescriptionsForm form);
177    
178    CommandResult editGlAccountCategoryDescription(UserVisitPK userVisitPK, EditGlAccountCategoryDescriptionForm form);
179    
180    CommandResult deleteGlAccountCategoryDescription(UserVisitPK userVisitPK, DeleteGlAccountCategoryDescriptionForm form);
181    
182    // --------------------------------------------------------------------------------
183    //   Gl Resource Types
184    // --------------------------------------------------------------------------------
185    
186    CommandResult createGlResourceType(UserVisitPK userVisitPK, CreateGlResourceTypeForm form);
187    
188    CommandResult getGlResourceTypeChoices(UserVisitPK userVisitPK, GetGlResourceTypeChoicesForm form);
189    
190    CommandResult getGlResourceType(UserVisitPK userVisitPK, GetGlResourceTypeForm form);
191    
192    CommandResult getGlResourceTypes(UserVisitPK userVisitPK, GetGlResourceTypesForm form);
193    
194    CommandResult setDefaultGlResourceType(UserVisitPK userVisitPK, SetDefaultGlResourceTypeForm form);
195    
196    CommandResult editGlResourceType(UserVisitPK userVisitPK, EditGlResourceTypeForm form);
197    
198    CommandResult deleteGlResourceType(UserVisitPK userVisitPK, DeleteGlResourceTypeForm form);
199    
200    // --------------------------------------------------------------------------------
201    //   Gl Resource Type Descriptions
202    // --------------------------------------------------------------------------------
203    
204    CommandResult createGlResourceTypeDescription(UserVisitPK userVisitPK, CreateGlResourceTypeDescriptionForm form);
205    
206    CommandResult getGlResourceTypeDescription(UserVisitPK userVisitPK, GetGlResourceTypeDescriptionForm form);
207    
208    CommandResult getGlResourceTypeDescriptions(UserVisitPK userVisitPK, GetGlResourceTypeDescriptionsForm form);
209    
210    CommandResult editGlResourceTypeDescription(UserVisitPK userVisitPK, EditGlResourceTypeDescriptionForm form);
211    
212    CommandResult deleteGlResourceTypeDescription(UserVisitPK userVisitPK, DeleteGlResourceTypeDescriptionForm form);
213    
214    // --------------------------------------------------------------------------------
215    //   Gl Accounts
216    // --------------------------------------------------------------------------------
217    
218    CommandResult createGlAccount(UserVisitPK userVisitPK, CreateGlAccountForm form);
219    
220    CommandResult getGlAccountChoices(UserVisitPK userVisitPK, GetGlAccountChoicesForm form);
221    
222    CommandResult getGlAccount(UserVisitPK userVisitPK, GetGlAccountForm form);
223    
224    CommandResult getGlAccounts(UserVisitPK userVisitPK, GetGlAccountsForm form);
225    
226    CommandResult editGlAccount(UserVisitPK userVisitPK, EditGlAccountForm form);
227    
228    CommandResult deleteGlAccount(UserVisitPK userVisitPK, DeleteGlAccountForm form);
229    
230    // --------------------------------------------------------------------------------
231    //   Gl Account Descriptions
232    // --------------------------------------------------------------------------------
233    
234    CommandResult createGlAccountDescription(UserVisitPK userVisitPK, CreateGlAccountDescriptionForm form);
235    
236    CommandResult getGlAccountDescription(UserVisitPK userVisitPK, GetGlAccountDescriptionForm form);
237    
238    CommandResult getGlAccountDescriptions(UserVisitPK userVisitPK, GetGlAccountDescriptionsForm form);
239    
240    CommandResult editGlAccountDescription(UserVisitPK userVisitPK, EditGlAccountDescriptionForm form);
241    
242    CommandResult deleteGlAccountDescription(UserVisitPK userVisitPK, DeleteGlAccountDescriptionForm form);
243
244    // --------------------------------------------------------------------------------
245    //   Transaction Time Types
246    // --------------------------------------------------------------------------------
247
248    CommandResult createTransactionTimeType(UserVisitPK userVisitPK, CreateTransactionTimeTypeForm form);
249
250    CommandResult getTransactionTimeTypeChoices(UserVisitPK userVisitPK, GetTransactionTimeTypeChoicesForm form);
251
252    CommandResult getTransactionTimeType(UserVisitPK userVisitPK, GetTransactionTimeTypeForm form);
253
254    CommandResult getTransactionTimeTypes(UserVisitPK userVisitPK, GetTransactionTimeTypesForm form);
255
256    CommandResult setDefaultTransactionTimeType(UserVisitPK userVisitPK, SetDefaultTransactionTimeTypeForm form);
257
258    CommandResult editTransactionTimeType(UserVisitPK userVisitPK, EditTransactionTimeTypeForm form);
259
260    CommandResult deleteTransactionTimeType(UserVisitPK userVisitPK, DeleteTransactionTimeTypeForm form);
261
262    // --------------------------------------------------------------------------------
263    //   Transaction Time Type Descriptions
264    // --------------------------------------------------------------------------------
265
266    CommandResult createTransactionTimeTypeDescription(UserVisitPK userVisitPK, CreateTransactionTimeTypeDescriptionForm form);
267
268    CommandResult getTransactionTimeTypeDescription(UserVisitPK userVisitPK, GetTransactionTimeTypeDescriptionForm form);
269
270    CommandResult getTransactionTimeTypeDescriptions(UserVisitPK userVisitPK, GetTransactionTimeTypeDescriptionsForm form);
271
272    CommandResult editTransactionTimeTypeDescription(UserVisitPK userVisitPK, EditTransactionTimeTypeDescriptionForm form);
273
274    CommandResult deleteTransactionTimeTypeDescription(UserVisitPK userVisitPK, DeleteTransactionTimeTypeDescriptionForm form);
275
276    // --------------------------------------------------------------------------------
277    //   Transaction Types
278    // --------------------------------------------------------------------------------
279    
280    CommandResult createTransactionType(UserVisitPK userVisitPK, CreateTransactionTypeForm form);
281    
282    CommandResult getTransactionType(UserVisitPK userVisitPK, GetTransactionTypeForm form);
283    
284    CommandResult getTransactionTypes(UserVisitPK userVisitPK, GetTransactionTypesForm form);
285    
286    CommandResult editTransactionType(UserVisitPK userVisitPK, EditTransactionTypeForm form);
287    
288    CommandResult deleteTransactionType(UserVisitPK userVisitPK, DeleteTransactionTypeForm form);
289    
290    // --------------------------------------------------------------------------------
291    //   Transaction Type Descriptions
292    // --------------------------------------------------------------------------------
293    
294    CommandResult createTransactionTypeDescription(UserVisitPK userVisitPK, CreateTransactionTypeDescriptionForm form);
295    
296    CommandResult getTransactionTypeDescription(UserVisitPK userVisitPK, GetTransactionTypeDescriptionForm form);
297    
298    CommandResult getTransactionTypeDescriptions(UserVisitPK userVisitPK, GetTransactionTypeDescriptionsForm form);
299    
300    CommandResult editTransactionTypeDescription(UserVisitPK userVisitPK, EditTransactionTypeDescriptionForm form);
301    
302    CommandResult deleteTransactionTypeDescription(UserVisitPK userVisitPK, DeleteTransactionTypeDescriptionForm form);
303    
304    // --------------------------------------------------------------------------------
305    //   Transaction Gl Account Categories
306    // --------------------------------------------------------------------------------
307    
308    CommandResult createTransactionGlAccountCategory(UserVisitPK userVisitPK, CreateTransactionGlAccountCategoryForm form);
309    
310    CommandResult getTransactionGlAccountCategory(UserVisitPK userVisitPK, GetTransactionGlAccountCategoryForm form);
311    
312    CommandResult getTransactionGlAccountCategories(UserVisitPK userVisitPK, GetTransactionGlAccountCategoriesForm form);
313    
314    CommandResult editTransactionGlAccountCategory(UserVisitPK userVisitPK, EditTransactionGlAccountCategoryForm form);
315    
316    CommandResult deleteTransactionGlAccountCategory(UserVisitPK userVisitPK, DeleteTransactionGlAccountCategoryForm form);
317    
318    // --------------------------------------------------------------------------------
319    //   Transaction Gl Account Category Descriptions
320    // --------------------------------------------------------------------------------
321    
322    CommandResult createTransactionGlAccountCategoryDescription(UserVisitPK userVisitPK, CreateTransactionGlAccountCategoryDescriptionForm form);
323    
324    CommandResult getTransactionGlAccountCategoryDescription(UserVisitPK userVisitPK, GetTransactionGlAccountCategoryDescriptionForm form);
325    
326    CommandResult getTransactionGlAccountCategoryDescriptions(UserVisitPK userVisitPK, GetTransactionGlAccountCategoryDescriptionsForm form);
327    
328    CommandResult editTransactionGlAccountCategoryDescription(UserVisitPK userVisitPK, EditTransactionGlAccountCategoryDescriptionForm form);
329    
330    CommandResult deleteTransactionGlAccountCategoryDescription(UserVisitPK userVisitPK, DeleteTransactionGlAccountCategoryDescriptionForm form);
331    
332    // --------------------------------------------------------------------------------
333    //   Transaction Entity Role Types
334    // --------------------------------------------------------------------------------
335    
336    CommandResult createTransactionEntityRoleType(UserVisitPK userVisitPK, CreateTransactionEntityRoleTypeForm form);
337    
338    CommandResult getTransactionEntityRoleType(UserVisitPK userVisitPK, GetTransactionEntityRoleTypeForm form);
339    
340    CommandResult getTransactionEntityRoleTypes(UserVisitPK userVisitPK, GetTransactionEntityRoleTypesForm form);
341    
342    CommandResult editTransactionEntityRoleType(UserVisitPK userVisitPK, EditTransactionEntityRoleTypeForm form);
343    
344    CommandResult deleteTransactionEntityRoleType(UserVisitPK userVisitPK, DeleteTransactionEntityRoleTypeForm form);
345    
346    // --------------------------------------------------------------------------------
347    //   Transaction Entity Role Type Descriptions
348    // --------------------------------------------------------------------------------
349    
350    CommandResult createTransactionEntityRoleTypeDescription(UserVisitPK userVisitPK, CreateTransactionEntityRoleTypeDescriptionForm form);
351    
352    CommandResult getTransactionEntityRoleTypeDescription(UserVisitPK userVisitPK, GetTransactionEntityRoleTypeDescriptionForm form);
353    
354    CommandResult getTransactionEntityRoleTypeDescriptions(UserVisitPK userVisitPK, GetTransactionEntityRoleTypeDescriptionsForm form);
355    
356    CommandResult editTransactionEntityRoleTypeDescription(UserVisitPK userVisitPK, EditTransactionEntityRoleTypeDescriptionForm form);
357    
358    CommandResult deleteTransactionEntityRoleTypeDescription(UserVisitPK userVisitPK, DeleteTransactionEntityRoleTypeDescriptionForm form);
359    
360    // --------------------------------------------------------------------------------
361    //   Transaction Groups
362    // --------------------------------------------------------------------------------
363    
364    CommandResult getTransactionGroups(UserVisitPK userVisitPK, GetTransactionGroupsForm form);
365    
366    CommandResult getTransactionGroup(UserVisitPK userVisitPK, GetTransactionGroupForm form);
367    
368    CommandResult getTransactionGroupStatusChoices(UserVisitPK userVisitPK, GetTransactionGroupStatusChoicesForm form);
369    
370    CommandResult setTransactionGroupStatus(UserVisitPK userVisitPK, SetTransactionGroupStatusForm form);
371
372    // --------------------------------------------------------------------------------
373    //   Transactions
374    // --------------------------------------------------------------------------------
375    
376    CommandResult getTransactions(UserVisitPK userVisitPK, GetTransactionsForm form);
377    
378    CommandResult getTransaction(UserVisitPK userVisitPK, GetTransactionForm form);
379    
380    // --------------------------------------------------------------------------------
381    //   Symbol Positions
382    // --------------------------------------------------------------------------------
383    
384    CommandResult createSymbolPosition(UserVisitPK userVisitPK, CreateSymbolPositionForm form);
385    
386    CommandResult getSymbolPositionChoices(UserVisitPK userVisitPK, GetSymbolPositionChoicesForm form);
387    
388    CommandResult getSymbolPosition(UserVisitPK userVisitPK, GetSymbolPositionForm form);
389    
390    CommandResult getSymbolPositions(UserVisitPK userVisitPK, GetSymbolPositionsForm form);
391    
392    CommandResult setDefaultSymbolPosition(UserVisitPK userVisitPK, SetDefaultSymbolPositionForm form);
393    
394    CommandResult editSymbolPosition(UserVisitPK userVisitPK, EditSymbolPositionForm form);
395    
396    CommandResult deleteSymbolPosition(UserVisitPK userVisitPK, DeleteSymbolPositionForm form);
397    
398    // --------------------------------------------------------------------------------
399    //   Symbol Position Descriptions
400    // --------------------------------------------------------------------------------
401    
402    CommandResult createSymbolPositionDescription(UserVisitPK userVisitPK, CreateSymbolPositionDescriptionForm form);
403    
404    CommandResult getSymbolPositionDescription(UserVisitPK userVisitPK, GetSymbolPositionDescriptionForm form);
405    
406    CommandResult getSymbolPositionDescriptions(UserVisitPK userVisitPK, GetSymbolPositionDescriptionsForm form);
407    
408    CommandResult editSymbolPositionDescription(UserVisitPK userVisitPK, EditSymbolPositionDescriptionForm form);
409    
410    CommandResult deleteSymbolPositionDescription(UserVisitPK userVisitPK, DeleteSymbolPositionDescriptionForm form);
411    
412}