using DapperORM.Common.Models;
using PushInfo.Act.Models.Tables;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PushInfo.Act.IDAL
{
    interface IMapProjectPushDAL
    {
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="mapProjectPush"></param>
        /// <returns></returns>
        ResultModel SaveMapProjectPush(Map_Project_Push mapProjectPush);

        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="mapProjectPush"></param>
        /// <returns></returns>
        ResultModel UpdateMapProjectPush(Map_Project_Push mapProjectPush);
        /// <summary>
        /// 只更新状态
        /// </summary>
        /// <param name="mapProjectPush"></param>
        /// <returns></returns>
        ResultModel UpdateMapProPushState(Map_Project_Push mapProjectPush);

        /// <summary>
        /// 逻辑删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ResultModel DeleteMapProjectPushById(string id);

        /// <summary>
        /// 根据Project_Id获取MapProjectPush
        /// </summary>
        /// <param name="projId">Project_Id</param>
        /// <returns></returns>
        ResultModel<IEnumerable<Map_Project_Push>> GetPushListByProjectId(string projId);

        PageListModel<Map_Project_Push> GetPushListByPage(int pageIndex, string projId, string pushProId);

        /// <summary>
        /// 根据Id获取MapProjectPush
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ResultModel<Map_Project_Push> GetPushById(string id);

        /// <summary>
        /// 判断是否存在Push_Id的配置
        /// </summary>
        /// <param name="pushId"></param>
        /// <returns></returns>
        ResultModel GetCountByPushId(string pushId);
    }
}
