using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.TransactionType; using System.Threading.Tasks; namespace MMDAL.CustomCode.TransactionType { /// /// Data Access Layer interface for managing TransactionType records in the database. /// Provides methods to retrieve, insert, update, and delete transaction types. /// public interface ITransactionTypeDAL { /// /// Retrieves 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); /// /// Retrieves a list of transaction types based on specified criteria. /// Typically used for populating dropdowns or picklists. /// /// 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); /// /// Inserts a new transaction type record into the database. /// /// The transaction type data to save. /// The current user's login details. /// The number of rows affected (should be 1 if successful). Task SaveTransactionType(TransactionTypeDTO TransactionTypeDTO, LoginDTO LoginDTO); /// /// Updates an existing transaction type record in the database. /// /// The updated transaction type data. /// The current user's login details. /// The number of rows affected (should be 1 if successful). Task UpdateTransactionType(TransactionTypeDTO TransactionTypeDTO, LoginDTO LoginDTO); /// /// Deletes a transaction type record 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); } }