using FrameworkDAL.DTO.ECMRights; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using System.Threading.Tasks; namespace FrameworkBLL.ECMRights { /// /// Business Logic Layer interface for managing ECMRights operations. /// Provides methods to retrieve, insert/update, list, and delete ECMRights records with business rules applied. /// public interface IECMRightsBLL { /// /// Retrieves the details of a single ECMRights record by its unique identifier. /// /// The unique identifier of the ECMRights record. /// The current user's login details. /// A JSON string representing the ECMRights details. Task GetECMRights(int ECMRightsId, LoginDTO LoginDTO); /// /// Inserts a new ECMRights record or updates an existing one. /// Automatically applies any business rules, such as setting Created/Modified fields. /// /// The ECMRights data to save or update. /// The current user's login details. /// A JSON string indicating the success of the operation, optionally with the ECMRightsId. Task SaveECMRights(ECMRightsDTO ECMRightsDTO, LoginDTO LoginDTO); /// /// Retrieves a paginated list of ECMRights records based on specified filter criteria. /// Can optionally return the total count of records instead of the list. /// /// The starting index of records to fetch (for pagination). /// The maximum number of records to fetch. /// Filter criteria for selecting ECMRights. /// The current user's login details. /// If true, returns the total count of matching records instead of the list. /// A JSON string representing either the list of ECMRights records or the total count. Task GetSelectListECMRights(int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO LoginDTO, bool isCount = false); /// /// Deletes an ECMRights record by its unique identifier. /// /// The unique identifier of the ECMRights record to delete. /// The current user's login details. /// A JSON string indicating success or failure of the delete operation. Task DeleteECMRights(int ECMRightsId, LoginDTO LoginDTO); } }