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.customer.common; 018 019import com.echothree.control.user.customer.common.form.*; 020import com.echothree.model.data.user.common.pk.UserVisitPK; 021import com.echothree.util.common.command.CommandResult; 022 023public interface CustomerService 024 extends CustomerForms { 025 026 // ------------------------------------------------------------------------- 027 // Testing 028 // ------------------------------------------------------------------------- 029 030 String ping(); 031 032 // ------------------------------------------------------------------------- 033 // Customers 034 // ------------------------------------------------------------------------- 035 036 CommandResult getCustomers(UserVisitPK userVisitPK, GetCustomersForm form); 037 038 CommandResult getCustomer(UserVisitPK userVisitPK, GetCustomerForm form); 039 040 CommandResult editCustomer(UserVisitPK userVisitPK, EditCustomerForm form); 041 042 CommandResult getCustomerStatusChoices(UserVisitPK userVisitPK, GetCustomerStatusChoicesForm form); 043 044 CommandResult setCustomerStatus(UserVisitPK userVisitPK, SetCustomerStatusForm form); 045 046 CommandResult getCustomerCreditStatusChoices(UserVisitPK userVisitPK, GetCustomerCreditStatusChoicesForm form); 047 048 CommandResult setCustomerCreditStatus(UserVisitPK userVisitPK, SetCustomerCreditStatusForm form); 049 050 // ------------------------------------------------------------------------- 051 // Customer Types 052 // ------------------------------------------------------------------------- 053 054 CommandResult createCustomerType(UserVisitPK userVisitPK, CreateCustomerTypeForm form); 055 056 CommandResult getCustomerTypes(UserVisitPK userVisitPK, GetCustomerTypesForm form); 057 058 CommandResult getCustomerType(UserVisitPK userVisitPK, GetCustomerTypeForm form); 059 060 CommandResult getCustomerTypeChoices(UserVisitPK userVisitPK, GetCustomerTypeChoicesForm form); 061 062 CommandResult setDefaultCustomerType(UserVisitPK userVisitPK, SetDefaultCustomerTypeForm form); 063 064 CommandResult editCustomerType(UserVisitPK userVisitPK, EditCustomerTypeForm form); 065 066 CommandResult deleteCustomerType(UserVisitPK userVisitPK, DeleteCustomerTypeForm form); 067 068 // ------------------------------------------------------------------------- 069 // Customer Type Descriptions 070 // ------------------------------------------------------------------------- 071 072 CommandResult createCustomerTypeDescription(UserVisitPK userVisitPK, CreateCustomerTypeDescriptionForm form); 073 074 CommandResult getCustomerTypeDescriptions(UserVisitPK userVisitPK, GetCustomerTypeDescriptionsForm form); 075 076 CommandResult editCustomerTypeDescription(UserVisitPK userVisitPK, EditCustomerTypeDescriptionForm form); 077 078 CommandResult deleteCustomerTypeDescription(UserVisitPK userVisitPK, DeleteCustomerTypeDescriptionForm form); 079 080 // ------------------------------------------------------------------------- 081 // Customer Type Payment Methods 082 // ------------------------------------------------------------------------- 083 084 CommandResult createCustomerTypePaymentMethod(UserVisitPK userVisitPK, CreateCustomerTypePaymentMethodForm form); 085 086 CommandResult getCustomerTypePaymentMethod(UserVisitPK userVisitPK, GetCustomerTypePaymentMethodForm form); 087 088 CommandResult getCustomerTypePaymentMethods(UserVisitPK userVisitPK, GetCustomerTypePaymentMethodsForm form); 089 090 CommandResult setDefaultCustomerTypePaymentMethod(UserVisitPK userVisitPK, SetDefaultCustomerTypePaymentMethodForm form); 091 092 CommandResult editCustomerTypePaymentMethod(UserVisitPK userVisitPK, EditCustomerTypePaymentMethodForm form); 093 094 CommandResult deleteCustomerTypePaymentMethod(UserVisitPK userVisitPK, DeleteCustomerTypePaymentMethodForm form); 095 096 // ------------------------------------------------------------------------- 097 // Customer Type Shipping Methods 098 // ------------------------------------------------------------------------- 099 100 CommandResult createCustomerTypeShippingMethod(UserVisitPK userVisitPK, CreateCustomerTypeShippingMethodForm form); 101 102 CommandResult getCustomerTypeShippingMethod(UserVisitPK userVisitPK, GetCustomerTypeShippingMethodForm form); 103 104 CommandResult getCustomerTypeShippingMethods(UserVisitPK userVisitPK, GetCustomerTypeShippingMethodsForm form); 105 106 CommandResult setDefaultCustomerTypeShippingMethod(UserVisitPK userVisitPK, SetDefaultCustomerTypeShippingMethodForm form); 107 108 CommandResult editCustomerTypeShippingMethod(UserVisitPK userVisitPK, EditCustomerTypeShippingMethodForm form); 109 110 CommandResult deleteCustomerTypeShippingMethod(UserVisitPK userVisitPK, DeleteCustomerTypeShippingMethodForm form); 111 112}