using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Ewide.Core.Service
{
    public interface ISysOrgService
    {
        Task AddOrg(AddOrgInput input);
        Task DeleteOrg(DeleteOrgInput input);
        Task<List<string>> GetDataScopeListByDataScopeType(int dataScopeType, string orgId);
        Task<SysOrg> GetOrg([FromQuery] QueryOrgInput input);
        Task<List<OrgOutput>> GetOrgList([FromQuery] OrgInput input);
        Task<dynamic> GetOrgTree([FromQuery] OrgInput input);
        Task<dynamic> QueryOrgPageList([FromQuery] PageOrgInput input);
        Task UpdateOrg(UpdateOrgInput input);
        Task<List<string>> GetUserDataScopeIdList();
        /// <summary>
        /// 根据区域信息获取单位id
        /// </summary>
        /// <param name="dataScopeType">代表区域范围的类型</param>
        /// <param name="areaNumberCode">区域代码</param>
        /// <returns></returns>
        Task<List<string>> GetAreaDataScopeIdList(int dataScopeType,string areaNumberCode);
        /// <summary>
        /// 当前区域信息不包括子区域
        /// </summary>
        /// <param name="areaNumberCode">区域代码</param>
        /// <returns></returns>
        Task<List<string>> GetAreaDataScopeIdListWithoutChildrenArea(string areaNumberCode);
    }
}