using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using AdminDAL.DTO.FinanceBook; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace AdminBLL.FinanceBook { /// /// Business Logic Layer interface for managing Finance Book operations. /// Provides methods to retrieve, insert/update, list, and delete Finance Book records with business rules applied. /// public interface IFinanceBookBLL { /// /// Retrieves the details of a single Finance Book by its unique identifier. /// /// The unique identifier of the Finance Book. /// The current user's login details. /// A JSON string representing the Finance Book details. Task GetFinanceBook(int FinanceBookId, LoginDTO LoginDTO); /// /// Inserts a new Finance Book or updates an existing Finance Book. /// Automatically applies any business rules, such as setting Created/Modified fields. /// /// The Finance Book data to save or update. /// The current user's login details. /// A JSON string indicating the success of the operation, optionally with the FinanceBookId. Task SaveFinanceBook(FinanceBookDTO FinanceBookDTO, LoginDTO LoginDTO); /// /// Retrieves a list of Finance Books based on specified criteria. /// Typically used to populate dropdowns or selection lists in the UI. /// /// Filter criteria for selecting Finance Books. /// The current user's login details. /// A JSON string representing a list of Finance Books. Task GetSelectListFinanceBook(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); /// /// Deletes a Finance Book by its unique identifier. /// /// The unique identifier of the Finance Book to delete. /// The current user's login details. /// A JSON string indicating success or failure of the delete operation. Task DeleteFinanceBook(int FinanceBookId, LoginDTO LoginDTO); } }