using Marco.Pms.Model.Dtos.DocumentManager; using Marco.Pms.Model.Dtos.Master; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Utilities; namespace Marco.Pms.Services.Service.ServiceInterfaces { public interface IMasterService { #region =================================================================== Contact Category APIs =================================================================== Task> CreateContactCategory(CreateContactCategoryDto contactCategoryDto, Employee loggedInEmployee, Guid tenantId); Task> UpdateContactCategory(Guid id, UpdateContactCategoryDto contactCategoryDto, Employee loggedInEmployee, Guid tenantId); Task> GetContactCategoriesList(Employee loggedInEmployee, Guid tenantId); Task> GetContactCategoryById(Guid id, Employee loggedInEmployee, Guid tenantId); Task> DeleteContactCategory(Guid id, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Contact Tag APIs =================================================================== Task> GetContactTags(Employee loggedInEmployee, Guid tenantId); Task> CreateContactTag(CreateContactTagDto contactTagDto, Employee loggedInEmployee, Guid tenantId); Task> UpdateContactTag(Guid id, UpdateContactTagDto contactTagDto, Employee loggedInEmployee, Guid tenantId); Task> DeleteContactTag(Guid id, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Work Status APIs =================================================================== Task> GetWorkStatusList(Employee loggedInEmployee, Guid tenantId); Task> CreateWorkStatus(CreateWorkStatusMasterDto createWorkStatusDto, Employee loggedInEmployee, Guid tenantId); Task> UpdateWorkStatus(Guid id, UpdateWorkStatusMasterDto updateWorkStatusDto, Employee loggedInEmployee, Guid tenantId); Task> DeleteWorkStatus(Guid id, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Expenses Type APIs =================================================================== Task> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive); Task> CreateExpenseTypeAsync(ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdateExpenseTypeAsync(Guid id, ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> DeleteExpenseTypeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Expenses Status APIs =================================================================== Task> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Payment mode APIs =================================================================== Task> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive); Task> CreatePaymentModeAsync(PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdatePaymentModeAsync(Guid id, PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId); Task> DeletePaymentModeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Document Category APIs =================================================================== Task> GetDocumentCategoryMasterListAsync(Guid? entityTypeId, Employee loggedInEmployee, Guid tenantId); Task> CreateDocumentCategoryMasterAsync(CreateDocumentCategoryDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdateDocumentCategoryMasterAsync(Guid id, CreateDocumentCategoryDto model, Employee loggedInEmployee, Guid tenantId); Task> DeleteDocumentCategoryMasterAsync(Guid id, Employee loggedInEmployee, Guid tenantId); #endregion #region =================================================================== Document Type APIs =================================================================== Task> GetDocumentTypeMasterListAsync(Guid? documentCategoryId, Employee loggedInEmployee, Guid tenantId); Task> CreateDocumentTypeMasterAsync(CreateDocumentTypeDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdateDocumentTypeMasterAsync(Guid id, CreateDocumentTypeDto model, Employee loggedInEmployee, Guid tenantId); Task> DeleteDocumentTypeMasterAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); #endregion } }