using BPA.KitChen.GroupMeal.Application.BaseDto;
using BPA.KitChen.GroupMeal.Application.Service.Authorization.Dtos;
using BPA.KitChen.GroupMeal.Core.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.KitChen.GroupMeal.Application.Service.Authorization.Services
{
    public interface IAuthorizationService
    {
        

        /// <summary>
        /// 分页店铺授权码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageUtil> PageStoreAuthorization(PageInputBase input);

        /// <summary>
        /// 添加店铺授权码
        /// </summary>
        /// <returns></returns>
        Task<bool> AddStoreAuthorization(CreateOrUpDateStoreAuthorizationDto input);

        /// <summary>
        /// 修改店铺授权码
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> UpdateStoreAuthorization(string id);

        Task<bool> UpdateStoreAuthTime(CreateOrUpDateStoreAuthorizationDto input);


        /// <summary>
        /// 删除店铺权限
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> DelStoreAuthorization(string id);

        /// <summary>
        /// 查询店铺授权信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
         Task<BPA_StoreAuthorization> GetStoreAuthorizationById(string id);


        /// <summary>
        /// 查询店铺授权信息 更具KEY
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        Task<BPA_StoreAuthorization> GetStoreAuthorizationByKey(string key);

        /// <summary>
        /// CodeFirst
        /// </summary>
        /// <param name="tableNames"></param>
        void CodeFirst();
    }
}
