/// <summary> /// 获取所有同城的区域信息,要排除行业版的 /// </summary> /// <returns></returns> public List <C_Area> GetCityInfo3() { List <C_Area> resultList = new List <C_Area>(); string strSql = @"SELECT area.`code`,area.`name`,area.`level`,area.pingyin from c_cityinfo cityinfo LEFT JOIN c_area area on cityinfo.AreaCode = area.`code` where area.`code`>0 and cityinfo.IsThirdTools=0 "; using (MySqlDataReader dr = SqlMySql.ExecuteDataReader(connName, CommandType.Text, strSql, null)) { while (dr.Read()) { var model = new C_Area(); if (dr["level"] != DBNull.Value) { model.Level = Convert.ToInt32(dr["level"]); } if (dr["name"] != DBNull.Value) { model.Name = dr["name"].ToString(); } if (dr["code"] != DBNull.Value) { model.Code = Convert.ToInt32(dr["code"]); } if (dr["pingyin"] != DBNull.Value) { model.PingYin = dr["pingyin"].ToString(); } resultList.Add(model); } } return(resultList); }
// POST: api/Area public bool Post(C_Area area) { Boolean guardar = false; using (CursoEscolarEntities contexto = new CursoEscolarEntities()) { Models.Area area1 = new Models.Area { Area_Nombre = area.Nombre }; contexto.Area.Add(area1); contexto.SaveChanges(); guardar = true; } return(guardar); }
// GET: api/Materia public C_Materia[] Get() { List <C_Materia> LMateria = new List <C_Materia>(); //List<C_Carrera> LCarrera = new List<C_Carrera>(); //List<C_Area> LArea = new List<C_Area>(); using (CursoEscolarEntities contexto = new CursoEscolarEntities()) { /*var query = from a in contexto.Materia * join s in contexto.Carrera on a.Mat_Carrera_Id equals s.Car_Id * join m in contexto.Area on a.Mat_Area_Id equals m.Area_Id * select new C_Materia * { * Id = a.Mat_Id, * Nombre = a.Mat_Nombre, * Carrera = s.Car_Nombre, * Area = m.Area_Nombre, * Nivel = s.Car_Nivel * }; * LMateria = query.ToList();*/ foreach (Materia item in contexto.Materia) { Carrera carrera_object = contexto.Carrera.Where(e => e.Car_Id == item.Mat_Carrera_Id).FirstOrDefault(); C_Carrera carrera_selection = new C_Carrera() { Id = carrera_object.Car_Id, Nivel = carrera_object.Car_Nivel, Nombre = carrera_object.Car_Nombre }; Area area_object = contexto.Area.Where(e => e.Area_Id == item.Mat_Area_Id).FirstOrDefault(); C_Area area_selection = new C_Area() { Id = area_object.Area_Id, Nombre = area_object.Area_Nombre }; LMateria.Add(new C_Materia() { Id = item.Mat_Id, Nombre = item.Mat_Nombre, Carrera = carrera_selection, Area = area_selection }); } } return(LMateria.ToArray()); }
// PUT: api/Area/5 public bool Put(int id, C_Area area) { Boolean guardar = false; using (CursoEscolarEntities contexto = new CursoEscolarEntities()) { if (contexto.Area.Count() > 0) { Area area1 = contexto.Area.Where(e => e.Area_Id == id).FirstOrDefault(); if (area1 != null) { area1.Area_Nombre = area.Nombre; contexto.SaveChanges(); guardar = true; } } } return(guardar); }
/// <summary> /// 匹配配送区域运费设置 /// </summary> /// <param name="template"></param> /// <param name="provinceName"></param> /// <param name="cityName"></param> /// <returns></returns> public DeliveryTemplate MatchDeliveryRegion(DeliveryTemplate template, string provinceName, string cityName) { //直辖市特殊处理 string zhiXiaShiCityName = ""; HashSet <string> zhiXiaShi = new HashSet <string> { "北京市", "天津市", "上海市", "重庆市", }; //匹配区域数据 C_Area userProvince = C_AreaBLL.SingleModel.GetModel($"ParentCode = 0 AND Name = '{provinceName}'"); //TODO 有名字相似的城市 用like会导致不准确 C_Area userCity = C_AreaBLL.SingleModel.GetModel($"ParentCode > 0 AND (Name = '{cityName}' {zhiXiaShiCityName})"); if (userProvince != null && zhiXiaShi.Contains(provinceName)) { userCity = new C_Area { ParentCode = userProvince.Code, Name = userProvince.Name, State = 1, Code = userProvince.Code, }; } ; if (userProvince == null || userCity == null) { //匹配失败:数据库不存在用户输入地区 //log4net.LogHelper.WriteInfo(this.GetType(), $"无法匹配用户地址:省({provinceName}{userProvince?.Code}),市({cityName}{userCity?.ParentCode})"); return(null); } //匹配配送区域 List <DeliveryTemplate> deliveryRegion = GetRegionTemplate(template.Id); foreach (var region in deliveryRegion) { //在配送范围内 if (CheckDeliveryArea(region, userProvince.Name, userCity.Name)) { //log4net.LogHelper.WriteInfo(this.GetType(), $"276:找到匹配区域({Newtonsoft.Json.JsonConvert.SerializeObject(region)})"); //返回配送区域运费设置 return(region); } } //旧运费模板数据兼容(返回母模板运费设置) if (deliveryRegion == null || deliveryRegion.Count == 0) { if (template.IsFree == 1) { //全国包邮 return(template); } if (string.IsNullOrWhiteSpace(template.DeliveryRegion)) { //全国配送 return(template); } if (CheckDeliveryRegion(template, userProvince.Code, userCity.Code)) { //在配送范围内 return(template); } } return(null); }