/// <summary> /// 根据用户传递的 省、市、区名称、级别(省1,市2,区3),转换为 国标码 /// 例如:用户传的是 Name:北京市,Code:1,级别:1,调用该方法返回:Name:北京市,Code:110000,级别:1 /// 在查询不到的情况下,返回null /// wc /// </summary> /// <param name="from"></param> /// <returns></returns> public AreaModelTranslate GetNationalAreaInfo(AreaModelTranslate from) { var redis = new ETS.NoSql.RedisCache.RedisCache(); //List<AreaModel> list = new List<AreaModel>(); string key = ETS.Const.RedissCacheKey.Common_GetNationalAreaInfo; var cacheValue = redis.Get <string>(key); List <AreaModelTranslate> cacheAreaModelList = null; if (!string.IsNullOrEmpty(cacheValue)) { cacheAreaModelList = JsonHelper.ToObject <List <AreaModelTranslate> >(cacheValue); } else { cacheAreaModelList = dao.GetRegionInfo().ToList(); redis.Add(key, JsonHelper.ToJson(cacheAreaModelList), DateTime.Now.AddDays(1)); } //cacheAreaModelList = CacheFactory.Instance[key] as List<AreaModelTranslate>; //if (cacheAreaModelList == null) //为null的时候,取数据库 //{ // cacheAreaModelList = dao.GetRegionInfo().ToList(); // redis.Add(key, Letao.Util.JsonHelper.ToJson(cacheAreaModelList)); // CacheFactory.Instance.AddObject(key, cacheAreaModelList); //} AreaModelTranslate areaModel = new AreaModelTranslate(); AreaModelTranslate resultAreaModel = new AreaModelTranslate(); if (from.JiBie == 2) { if (from.Name.Contains("北京")) { from.Name = "北京市"; } if (from.Name.Contains("上海")) { from.Name = "上海市"; } if (from.Name.Contains("天津")) { from.Name = "天津市"; } if (from.Name.Contains("重庆")) { from.Name = "重庆市"; } } areaModel = cacheAreaModelList.FirstOrDefault(s => s.Name == from.Name.Trim() && s.JiBie == from.JiBie); if (areaModel != null) { resultAreaModel.NationalCode = areaModel.NationalCode; //resultAreaModel.Name = areaModel.Name; //resultAreaModel.JiBie = from.JiBie; } else { resultAreaModel = null; } return(resultAreaModel); }