using YiSha.Util.Model;
using System.Data.Common;
using System.Threading.Tasks;
using System.Collections.Generic;
using YiSha.Entity.KJH;
using YiSha.Model.Param.KJH;
namespace YiSha.IService.KJH
{
/// <summary>
/// 创 建:cmzx
/// 日 期:2021-04-28 14:34
/// 描 述:体彩大乐透服务接口类
/// </summary>
public partial interface ITcdltService
{
#region 获取数据
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="param">请求参数</param>
/// <returns></returns>
Task<List<TcdltEntity>> GetList(TcdltListParam param);
/// <summary>
/// 获取分页数据
/// </summary>
/// <param name="param">请求参数</param>
/// <param name="pagination">分页条件</param>
/// <returns></returns>
Task<List<TcdltEntity>> GetPageList(TcdltListParam param, Pagination pagination);
/// <summary>
/// 获取指定列数据
/// </summary>
/// <param name="column">表字段列</param>
/// <param name="where">条件</param>
/// <param name="parameters">条件参数</param>
/// <param name="sort">排序列</param>
/// <param name="sortType">排序类型</param>
/// <returns></returns>
Task<List<TcdltEntity>> GetListColumn(string column, string where, List<DbParameter> parameters, string groupBy = "", string sort = "basecreatetime", string sortType = "desc");
/// <summary>
/// 根据主键Id获取数据
/// </summary>
/// <param name="id">主键id</param>
/// <returns></returns>
Task<TcdltEntity> GetEntity(int id);
/// <summary>
/// 获取最新期数
/// </summary>
/// <returns></returns>
Task<TcdltEntity> GetNewestQi();
#endregion
#region 提交数据
/// <summary>
/// 保存数据
/// </summary>
/// <param name="entity">实体参数</param>
/// <returns></returns>
Task SaveForm(TcdltEntity entity);
/// <summary>
/// 保存多条数据
/// </summary>
/// <param name="list">数据列表</param>
/// <returns></returns>
Task<int> InsertMany(List<TcdltEntity> list);
/// <summary>
/// 根据主键Id删除数据
/// </summary>
/// <param name="ids">主键Id</param>
/// <param name="del">是否真删除 true真删除 false软删除 默认false</param>
/// <returns></returns>
Task<int> DeleteFormById(string ids, bool del = false);
/// <summary>
/// 根据条件删除数据
/// </summary>
/// <param name="where">where条件</param>
/// <param name="parameters">参数</param>
/// <param name="del">是否真删除 true真删除 false软删除 默认false</param>
/// <returns></returns>
Task<int> DeleteFormByWhere(string where, List<DbParameter> parameters, bool del = false);
/// <summary>
/// 修改多条数据
/// </summary>
/// <param name="list">数据列表</param>
/// <returns></returns>
Task<int> UpdateMany(List<TcdltEntity> list);
/// <summary>
/// 根据条件修改数据
/// </summary>
/// <param name="setField">修改字段</param>
/// <param name="where">where条件</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
Task<int> UpdateFormByWhere(string setField, string where, List<DbParameter> parameters);
#endregion
#region 私有方法
///// <summary>
///// 列表条件过滤
///// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释)
///// </summary>
///// <param name="param"></param>
///// <returns></returns>
//Expression<Func<TcdltEntity, bool>> ListFilter(TcdltListParam param);
#endregion
}
}