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.invoice.common; 018 019import com.echothree.control.user.invoice.common.form.*; 020import com.echothree.model.data.user.common.pk.UserVisitPK; 021import com.echothree.util.common.command.CommandResult; 022 023public interface InvoiceService 024 extends InvoiceForms { 025 026 // ------------------------------------------------------------------------- 027 // Testing 028 // ------------------------------------------------------------------------- 029 030 String ping(); 031 032 // -------------------------------------------------------------------------------- 033 // Invoice Line Use Types 034 // -------------------------------------------------------------------------------- 035 036 CommandResult createInvoiceLineUseType(UserVisitPK userVisitPK, CreateInvoiceLineUseTypeForm form); 037 038 // -------------------------------------------------------------------------------- 039 // Invoice Line Use Type Descriptions 040 // -------------------------------------------------------------------------------- 041 042 CommandResult createInvoiceLineUseTypeDescription(UserVisitPK userVisitPK, CreateInvoiceLineUseTypeDescriptionForm form); 043 044 // -------------------------------------------------------------------------------- 045 // Invoice Role Type Types 046 // -------------------------------------------------------------------------------- 047 048 CommandResult createInvoiceRoleType(UserVisitPK userVisitPK, CreateInvoiceRoleTypeForm form); 049 050 // -------------------------------------------------------------------------------- 051 // Invoice Role Type Descriptions 052 // -------------------------------------------------------------------------------- 053 054 CommandResult createInvoiceRoleTypeDescription(UserVisitPK userVisitPK, CreateInvoiceRoleTypeDescriptionForm form); 055 056 // -------------------------------------------------------------------------------- 057 // Invoice Types 058 // -------------------------------------------------------------------------------- 059 060 CommandResult createInvoiceType(UserVisitPK userVisitPK, CreateInvoiceTypeForm form); 061 062 CommandResult getInvoiceTypeChoices(UserVisitPK userVisitPK, GetInvoiceTypeChoicesForm form); 063 064 CommandResult getInvoiceType(UserVisitPK userVisitPK, GetInvoiceTypeForm form); 065 066 CommandResult getInvoiceTypes(UserVisitPK userVisitPK, GetInvoiceTypesForm form); 067 068 CommandResult setDefaultInvoiceType(UserVisitPK userVisitPK, SetDefaultInvoiceTypeForm form); 069 070 CommandResult editInvoiceType(UserVisitPK userVisitPK, EditInvoiceTypeForm form); 071 072 CommandResult deleteInvoiceType(UserVisitPK userVisitPK, DeleteInvoiceTypeForm form); 073 074 // -------------------------------------------------------------------------------- 075 // Invoice Type Descriptions 076 // -------------------------------------------------------------------------------- 077 078 CommandResult createInvoiceTypeDescription(UserVisitPK userVisitPK, CreateInvoiceTypeDescriptionForm form); 079 080 CommandResult getInvoiceTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceTypeDescriptionsForm form); 081 082 CommandResult editInvoiceTypeDescription(UserVisitPK userVisitPK, EditInvoiceTypeDescriptionForm form); 083 084 CommandResult deleteInvoiceTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceTypeDescriptionForm form); 085 086 // -------------------------------------------------------------------------------- 087 // Invoice Time Types 088 // -------------------------------------------------------------------------------- 089 090 CommandResult createInvoiceTimeType(UserVisitPK userVisitPK, CreateInvoiceTimeTypeForm form); 091 092 CommandResult getInvoiceTimeTypeChoices(UserVisitPK userVisitPK, GetInvoiceTimeTypeChoicesForm form); 093 094 CommandResult getInvoiceTimeType(UserVisitPK userVisitPK, GetInvoiceTimeTypeForm form); 095 096 CommandResult getInvoiceTimeTypes(UserVisitPK userVisitPK, GetInvoiceTimeTypesForm form); 097 098 CommandResult setDefaultInvoiceTimeType(UserVisitPK userVisitPK, SetDefaultInvoiceTimeTypeForm form); 099 100 CommandResult editInvoiceTimeType(UserVisitPK userVisitPK, EditInvoiceTimeTypeForm form); 101 102 CommandResult deleteInvoiceTimeType(UserVisitPK userVisitPK, DeleteInvoiceTimeTypeForm form); 103 104 // -------------------------------------------------------------------------------- 105 // Invoice Time Type Descriptions 106 // -------------------------------------------------------------------------------- 107 108 CommandResult createInvoiceTimeTypeDescription(UserVisitPK userVisitPK, CreateInvoiceTimeTypeDescriptionForm form); 109 110 CommandResult getInvoiceTimeTypeDescription(UserVisitPK userVisitPK, GetInvoiceTimeTypeDescriptionForm form); 111 112 CommandResult getInvoiceTimeTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceTimeTypeDescriptionsForm form); 113 114 CommandResult editInvoiceTimeTypeDescription(UserVisitPK userVisitPK, EditInvoiceTimeTypeDescriptionForm form); 115 116 CommandResult deleteInvoiceTimeTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceTimeTypeDescriptionForm form); 117 118 // -------------------------------------------------------------------------------- 119 // Invoice Line Types 120 // -------------------------------------------------------------------------------- 121 122 CommandResult createInvoiceLineType(UserVisitPK userVisitPK, CreateInvoiceLineTypeForm form); 123 124 CommandResult getInvoiceLineTypeChoices(UserVisitPK userVisitPK, GetInvoiceLineTypeChoicesForm form); 125 126 CommandResult getInvoiceLineType(UserVisitPK userVisitPK, GetInvoiceLineTypeForm form); 127 128 CommandResult getInvoiceLineTypes(UserVisitPK userVisitPK, GetInvoiceLineTypesForm form); 129 130 CommandResult setDefaultInvoiceLineType(UserVisitPK userVisitPK, SetDefaultInvoiceLineTypeForm form); 131 132 CommandResult editInvoiceLineType(UserVisitPK userVisitPK, EditInvoiceLineTypeForm form); 133 134 CommandResult deleteInvoiceLineType(UserVisitPK userVisitPK, DeleteInvoiceLineTypeForm form); 135 136 // -------------------------------------------------------------------------------- 137 // Invoice Line Type Descriptions 138 // -------------------------------------------------------------------------------- 139 140 CommandResult createInvoiceLineTypeDescription(UserVisitPK userVisitPK, CreateInvoiceLineTypeDescriptionForm form); 141 142 CommandResult getInvoiceLineTypeDescriptions(UserVisitPK userVisitPK, GetInvoiceLineTypeDescriptionsForm form); 143 144 CommandResult editInvoiceLineTypeDescription(UserVisitPK userVisitPK, EditInvoiceLineTypeDescriptionForm form); 145 146 CommandResult deleteInvoiceLineTypeDescription(UserVisitPK userVisitPK, DeleteInvoiceLineTypeDescriptionForm form); 147 148}