using GB5Shared.DTO.Framework.Criteria;
using GB5Shared.DTO.Framework.Login;
using MMDAL.DTO.Terms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MMDAL.CustomCode.Terms
{
public interface ITermsDAL
{
///
/// Retrieves a single Terms by its unique identifier.
///
/// The unique identifier of the Terms.
/// The current user's login details.
/// A JSON string representing the Terms details.
Task GetTerms(int TermsId, LoginDTO LoginDTO);
///
/// Retrieves a list of Terms based on specified criteria.
/// Typically used for populating dropdowns or picklists.
///
/// Filter criteria for selecting Terms.
/// The current user's login details.
/// A JSON string representing a list of Terms.
Task GetSelectListTerms(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO);
///
/// Inserts a new Terms record into the database.CriteriaDTO
///
/// The Terms data to save.
/// The current user's login details.
/// The number of rows affected (should be 1 if successful).
Task SaveTerms(TermsDTO TermsDTO, LoginDTO LoginDTO);
///
/// Updates an existing Terms record in the database.
///
/// The updated Terms data.
/// The current user's login details.
/// The number of rows affected (should be 1 if successful).
Task UpdateTerms(TermsDTO TermsDTO, LoginDTO LoginDTO);
///
/// Deletes a Terms record by its unique identifier.
///
/// The unique identifier of the Terms to delete.
/// The current user's login details.
/// A JSON string indicating success or failure of the delete operation.
Task DeleteTerms(int TermsId, LoginDTO LoginDTO);
}
}