/// <summary> /// 获取联动数据 /// </summary> /// <param name="type">级别类型</param> /// <param name="code">上级code</param> /// <returns></returns> public List <AddressProvincetDto> GetAddressData(AddressEnum type, string code) { //读取wwwroot路径 string webRootPath = _hostingEnvironment.WebRootPath; switch (type) { case AddressEnum.Provinces: string provincesStr = File.ReadAllText($"{webRootPath}{AppConsts.AddressLinkageProvincesPath}"); return(JsonConvert.DeserializeObject <List <AddressProvincetDto> >(provincesStr)); case AddressEnum.Cities: string citStr = File.ReadAllText($"{webRootPath}{AppConsts.AddressLinkageCitiesPath}"); var cityData = JsonConvert.DeserializeObject <List <AddressCityDto> >(citStr); var retCity = cityData.FindAll(x => x.ProvinceCode.Equals(code)); return(ObjectMapper.Map <List <AddressProvincetDto> >(retCity)); case AddressEnum.Areas: string areaStr = File.ReadAllText($"{webRootPath}{AppConsts.AddressLinkageAreasPath}"); var areaData = JsonConvert.DeserializeObject <List <AddressAreaDto> >(areaStr); var retArea = areaData.FindAll(x => x.CityCode.Equals(code)); return(ObjectMapper.Map <List <AddressProvincetDto> >(retArea)); case AddressEnum.Streets: string streetStr = File.ReadAllText($"{webRootPath}{AppConsts.AddressLinkageStreetsPath}"); var streetData = JsonConvert.DeserializeObject <List <AddressStreetDto> >(streetStr); var retStreet = streetData.FindAll(x => x.AreaCode.Equals(code)); return(ObjectMapper.Map <List <AddressProvincetDto> >(retStreet)); default: throw new UserFriendlyException("错误!", "正在修复中,请稍后重试..."); } }
public static string ToAttribute(this AddressEnum value) { switch (value) { case AddressEnum.STREET: return("streetAddress"); case AddressEnum.PO_BOX: return("postOfficeBox"); case AddressEnum.CITY: return("l"); case AddressEnum.STATE_PROVINCE: return("st"); case AddressEnum.ZIP_POSTAL_CODE: return("postalCode"); case AddressEnum.COUNTRY_REGION: return("co"); default: throw new ArgumentException($"Invalid Enum:{value.ToString()}"); } }
public static string GetFriendlyName(AddressEnum addressEnum) { return(addressEnum.ToString()); }
/// <summary> /// 通过父级code获取省市区县镇数据 /// </summary> /// <param name="addressEnum"> </param> /// <param name="parentCode"> 父级code </param> public List <AddressProvincetDto> GetByParentCode(AddressEnum addressEnum, string parentCode) { return(_addressLinkageManager.GetAddressData(addressEnum, parentCode)); }
internal static string getAttribute(this LdapEntry entry, AddressEnum value) { var attr = value.ToAttribute(); return(entry.getAttribute(attr)?.ToString()); }