예제 #1
0
        /// <summary>
        /// 加载一个区域信息
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public static AreaInfo LoadArea(int sysNo)
        {
            AreaInfoQueryFilter queryFilter = new AreaInfoQueryFilter()
            {
                PageIndex     = 0,
                PageSize      = int.MaxValue,
                DistrictSysNo = sysNo,
            };

            return(CommonDA.QueryArea(queryFilter).ResultList.FirstOrDefault());
        }
예제 #2
0
        /// <summary>
        /// 获取城市下面所有区域
        /// </summary>
        /// <param name="citySysNo"></param>
        /// <returns></returns>
        public static List <AreaInfo> GetAllDistrict(int citySysNo)
        {
            AreaInfoQueryFilter queryFilter = new AreaInfoQueryFilter()
            {
                PageIndex = 0,
                PageSize  = int.MaxValue,
                CitySysNo = citySysNo,
            };

            return(CommonDA.QueryArea(queryFilter).ResultList);
        }
예제 #3
0
        /// <summary>
        /// 获取所有省份
        /// </summary>
        /// <returns></returns>
        public static List <AreaInfo> GetAllProvince()
        {
            AreaInfoQueryFilter queryFilter = new AreaInfoQueryFilter()
            {
                PageIndex    = 0,
                PageSize     = int.MaxValue,
                OnlyProvince = true,
            };

            return(CommonDA.QueryArea(queryFilter).ResultList);
        }
예제 #4
0
        /// <summary>
        /// 获取省份下面所有城市
        /// </summary>
        /// <param name="provinceSysNo"></param>
        /// <returns></returns>
        public static List <AreaInfo> GetAllCity(string provinceSysNo)
        {
            AreaInfoQueryFilter queryFilter = new AreaInfoQueryFilter()
            {
                PageIndex     = 0,
                PageSize      = int.MaxValue,
                OnlyCity      = true,
                ProvinceSysNo = provinceSysNo,
            };

            return(CommonDA.QueryArea(queryFilter).ResultList);
        }
예제 #5
0
파일: CommonDA.cs 프로젝트: sanlonezhang/ql
        /// <summary>
        /// 查询区域
        /// </summary>
        /// <param name="queryFilter"></param>
        /// <returns></returns>
        public static QueryResult <AreaInfo> QueryArea(AreaInfoQueryFilter queryFilter)
        {
            CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("QueryArea");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(command.CommandText, command, queryFilter, string.IsNullOrEmpty(queryFilter.SortFields) ? "a.SysNo ASC" : queryFilter.SortFields))
            {
                if (queryFilter.DistrictSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNo", DbType.Int32, "@AreaSysNo", QueryConditionOperatorType.Equal, queryFilter.DistrictSysNo.Value);
                }
                if (queryFilter.CitySysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.BeginGroupCondition(QueryConditionRelationType.AND);
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CitySysNo", DbType.Int32, "@CitySysNo", QueryConditionOperatorType.Equal, queryFilter.CitySysNo.Value);
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "a.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.CitySysNo.Value);
                    sqlBuilder.ConditionConstructor.EndGroupCondition();
                }
                if (!string.IsNullOrEmpty(queryFilter.ProvinceSysNo))
                {
                    //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ProvinceSysNo", DbType.Int32, "@ProvinceSysNo", QueryConditionOperatorType.Equal, queryFilter.ProvinceSysNo.Value);
                    sqlBuilder.ConditionConstructor.AddSubQueryCondition(QueryConditionRelationType.AND, "a.ProvinceSysNo", QueryConditionOperatorType.In, queryFilter.ProvinceSysNo);
                }
                if (queryFilter.Status.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.Status", DbType.Int32, "@AreaSysNo", QueryConditionOperatorType.Equal, queryFilter.Status.Value);
                }
                if (queryFilter.OnlyProvince)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "a.ProvinceSysNo IS NULL");
                }
                if (queryFilter.OnlyCity)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "a.CitySysNo IS NULL");
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "a.ProvinceSysNo IS NOT NULL");
                }
                //if (queryFilter.OnlyDistrict)
                //{
                //    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "a.CitySysNo IS NOT NULL");
                //}
                command.CommandText = sqlBuilder.BuildQuerySql();
                List <AreaInfo> resultList = command.ExecuteEntityList <AreaInfo>();
                int             totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount"));

                return(new QueryResult <AreaInfo>()
                {
                    PageInfo = new PageInfo()
                    {
                        PageIndex = queryFilter.PageIndex, PageSize = queryFilter.PageSize, TotalCount = totalCount, SortBy = queryFilter.SortFields
                    }, ResultList = resultList
                });
            }
        }
예제 #6
0
        public static void SetMultipleSettingValue(List <FreeShippingChargeRuleInfo> list)
        {
            if (HasElements(list))
            {
                AreaInfoQueryFilter queryFilter = new AreaInfoQueryFilter()
                {
                    PageIndex    = 0,
                    PageSize     = int.MaxValue,
                    OnlyProvince = true,
                };
                List <AreaInfo> allProvinceList = CommonDA.QueryArea(queryFilter).ResultList;

                int totalCount;
                List <PayTypeInfo> allPayTypeList = CommonDA.GetAllPayType();

                foreach (var item in list)
                {
                    if (HasElements(item.ShipAreaSettingValue) && HasElements(allProvinceList))
                    {
                        foreach (var simpleObj in item.ShipAreaSettingValue)
                        {
                            var p = allProvinceList.Find(x => x.SysNo.ToString() == simpleObj.ID);
                            if (p != null)
                            {
                                simpleObj.Name = p.ProvinceName;
                            }
                        }
                    }
                    if (HasElements(item.PayTypeSettingValue) && HasElements(allPayTypeList))
                    {
                        foreach (var simpleObj in item.PayTypeSettingValue)
                        {
                            var p = allPayTypeList.Find(x => x.SysNo.ToString() == simpleObj.ID);
                            if (p != null)
                            {
                                simpleObj.Name = p.PayTypeName;
                            }
                        }
                    }
                    if (!item.IsGlobal)
                    {
                        LoadRuleProductSettingValue(item);
                    }
                }
            }
        }
예제 #7
0
 public static QueryResult <AreaInfo> QueryArea(AreaInfoQueryFilter queryFilter)
 {
     return(CommonDA.QueryArea(queryFilter));
 }