huanghongfeng
2025-01-24 829eabf256e29392ca63f6da48829dba3b075dfe
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs
@@ -118,26 +118,42 @@
        public Dictionary<string, OrderByType> GetPageDataSort(PropertyInfo[] propertyInfo)
        {
            if (!string.IsNullOrEmpty(Sort))
            try
            {
                if (Sort.Contains(","))
                if (!string.IsNullOrEmpty(Sort))
                {
                    List<string> sortArr = Sort.Split(",").Where(x => propertyInfo.Any(p => p.Name == x)).ToList();
                    Dictionary<string, OrderByType> sortDic = new Dictionary<string, OrderByType>();
                    foreach (var item in sortArr)
                    if (Sort.Contains(","))
                    {
                        sortDic[item] = Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc;
                    }
                    return sortDic;
                }
                else if (propertyInfo.Any(x => x.Name == Sort.FirstLetterToLower() || x.Name == Sort.FirstLetterToUpper()))
                {
                    return new Dictionary<string, OrderByType> {
                        List<string> sortArr = Sort.Split(",").Where(x => propertyInfo.Any(p => p.Name == x)).ToList();
                        Dictionary<string, OrderByType> sortDic = new Dictionary<string, OrderByType>();
                        foreach (var item in sortArr)
                        {
                            Sort,Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc
                        } };
                            sortDic[item] = Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc;
                        }
                        return sortDic;
                    }
                    else if (propertyInfo.Any(x => x.Name == Sort.FirstLetterToLower() || x.Name == Sort.FirstLetterToUpper()))
                    {
                        Dictionary<string, OrderByType> result = new Dictionary<string, OrderByType>();
                        if (Order == "asc")
                        {
                            result.Add(Sort, OrderByType.Asc);
                        }
                        else
                        {
                            result.Add(Sort, OrderByType.Desc);
                        }
                        return result;
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return new Dictionary<string, OrderByType> { { "CreateDate", Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc } };
        }
    }