using ASHermed.SinoInterface.Api.ContractModel.App;
using ASHermed.SinoInterface.Api.ContractModel.App.Model;
using ASHermed.SinoInterface.Api.ContractModel.Basicdata.Entiey;
using ASHermed.SinoInterface.Repository.MySql;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace ASHermed.SinoInterface.Api.IRepository.App
{
    public interface ICnBaseDistrictRepository : IBaseRepositoryToASHermed_SinoInterface<Cn_Base_District>
    {
        /// <summary>
        /// 获取所有的省份
        /// language：1 中文，2英文
        /// </summary>
        /// <param name="language"></param>
        /// <returns></returns>
        Task<List<ProvinceEntity>> GetProvincesByLanguage(int language);

        /// <summary>
        /// 通过省份来获取城市
        /// </summary>
        /// <param name="provinceId"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        Task<List<CityEntity>> GetCitysByPIdAndLanguage(int provinceId, int language);

        /// <summary>
        /// 根据城市来获取区或县
        /// </summary>
        /// <param name="cityId"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        Task<List<AreasEntity>> GetAreaByCityIdAndLanguage(int cityId, int language);

        List<Dic_Nationality_Tc> GetTcNationAll(int id = 0);

        Task<Dic_Nationality_Tc> GetNationalityByNameOrCodeAsync(string name, string code);

        CityEntity GetCityById(int cityId, int language);

        ProvinceEntity GetProvincesByCityId(int cityId);
    }
}
