Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 3
0
        // 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);
        }
Exemplo n.º 5
0
        /// <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);
        }