using System.Collections.Generic;
using System.Threading.Tasks;
using Datory;
using GxPress.Common.Page;
using GxPress.Result.Organization;

namespace GxPress.Repository.Interface.Organization
{
    public interface IOrganizationRepository : IRepository
    {
        /// <summary>
        ///  机构列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<PagedList<Entity.tede2.Organization.Organization>> GetAllAsync(OrganizationListRequest request);
           /// <summary>
        /// 修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(OrganizationUpdateRequest request);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<bool> DeleteAsync(List<int> ids);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
         Task<bool> UpdateIsDisableAsync(OrganizationUpdateDisableRequest request);
         /// <summary>
        /// 添加
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
         Task<bool> InsertAsync(Entity.tede2.Organization.Organization model);
    }
}