using New_College.IServices.BASE;
using New_College.Model;
using New_College.Model.Models;
using New_College.Model.ViewModels;
using New_College.Model.ViewModels.Query;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace New_College.IServices
{
    /// <summary>
    /// IV_VipCardInfoServices
    /// </summary>	
    public interface IV_VipCardInfoServices : IBaseServices<V_VipCardInfo>
    {

        Task<MessageModel<bool>> BindCardInfo(VipCardQuery query);


        /// <summary>
        /// 获取vip信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<VipInfoResult>> GetVipInfo(IdQuery query);


        /// <summary>
        /// 生成卡信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<List<string>>> AutoVipCardInfo(AutoVipInfoQuery query);

        /// <summary>
        /// 获取vip信息（分页）
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<PageModel<VipCardInfoResult>>> GetVipCardInfoByPage(VipCardInfoSearchQuery query);

        /// <summary>
        /// 获取单个vip信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<VipCardInfoResultOne>> GetVipCardInfoOne(IdQuery query);
        /// <summary>
        /// 添加vip
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<bool>> AddVipCardInfo(VipCardInfoQuery query);

        
        /// <summary>
        /// 更新vip
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<bool>> UpdateVipCardInfo(VipCardInfoQuery query);

        /// <summary>
        /// 删除vip
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<MessageModel<bool>> DeleteVipCardInfo(IdQuery query);


    }
}