using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.TransactionType; using System.Threading.Tasks; namespace MMBLL.TransactionType { /// /// Business Logic Layer interface for managing TransactionType operations. /// Provides methods to retrieve, insert/update, list, and delete transaction types with business rules applied. /// public interface ITransactionTypeBLL { /// /// Retrieves the details of a single transaction type by its unique identifier. /// /// The unique identifier of the transaction type. /// The current user's login details. /// A JSON string representing the transaction type details. Task GetTransactionType(int TransactionTypeId, LoginDTO LoginDTO); /// /// Inserts a new transaction type or updates an existing one. /// Automatically applies any business rules, such as setting Created/Modified fields. /// /// The transaction type data to save or update. /// The current user's login details. /// A JSON string indicating the success of the operation, optionally with the TransactionTypeId. Task SaveTransactionType(TransactionTypeDTO TransactionTypeDTO, LoginDTO LoginDTO); /// /// Retrieves a list of transaction types based on specified criteria. /// Typically used to populate dropdowns or selection lists in the UI. /// /// Filter criteria for selecting transaction types. /// The current user's login details. /// A JSON string representing a list of transaction types. Task GetSelectListTransactionType(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); /// /// Deletes a transaction type by its unique identifier. /// /// The unique identifier of the transaction type to delete. /// The current user's login details. /// A JSON string indicating success or failure of the delete operation. Task DeleteTransactionType(int TransactionTypeId, LoginDTO LoginDTO); } }