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 MMBLL.Terms
{
public interface ITermsBLL
{
///
/// Retrieves the details of 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);
///
/// Inserts a new Terms or updates an existing Terms.
/// Automatically applies any business rules, such as setting Created/Modified fields.
///
/// The Terms data to save or update.
/// The current user's login details.
/// A JSON string indicating the success of the operation, optionally with the TermsId.
Task SaveTerms(TermsDTO TermsDTO, LoginDTO LoginDTO);
///
/// Retrieves a list of Terms based on specified criteria.
/// Typically used to populate dropdowns or selection lists in the UI.
///
/// 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);
///
/// Deletes a Terms 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);
}
}