| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_Core.Utilities; |
| | |
| | | LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); |
| | | if (expressionType == LinqExpressionType.Equal) |
| | | { |
| | | where += $"{searchParametersList[i].Name} = '{results[j].Item3}'"; |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.Equal} '{results[j].Item3}'"; |
| | | } |
| | | else if (expressionType == LinqExpressionType.ThanOrEqual) |
| | | { |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.ThanOrEqual} '{searchParametersList[i].Value}'"; |
| | | } |
| | | else if (expressionType == LinqExpressionType.LessThanOrEqual) |
| | | { |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.LessOrequal} '{searchParametersList[i].Value}'"; |
| | | } |
| | | else if (expressionType == LinqExpressionType.GreaterThan) |
| | | { |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.GT} '{searchParametersList[i].Value}'"; |
| | | } |
| | | else if (expressionType == LinqExpressionType.LessThan) |
| | | { |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.LT} '{searchParametersList[i].Value}'"; |
| | | } |
| | | else if (expressionType == LinqExpressionType.Contains) |
| | | { |
| | | where += $"{searchParametersList[i].Name} {HtmlElementType.like} '%{searchParametersList[i].Value}%'"; |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | 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 } }; |
| | | } |
| | | } |