OrderByModelToSql.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Text.RegularExpressions;
  5. using System.Linq;
  6. namespace SqlSugar
  7. {
  8. public abstract partial class SqlBuilderProvider : SqlBuilderAccessory, ISqlBuilder
  9. {
  10. public KeyValuePair<string, SugarParameter[]> OrderByModelToSql(List<OrderByModel> models)
  11. {
  12. StringBuilder sql = new StringBuilder("");
  13. List<SugarParameter> pars = new List<SugarParameter>(){ };
  14. foreach (var item in models)
  15. {
  16. if (item is OrderByModel && item.FieldName is IFuncModel)
  17. {
  18. var orderByModel = item as OrderByModel;
  19. sql.Append($" {GetSqlPart(item.FieldName,pars)} {orderByModel.OrderByType.ToString().ToUpper()} ,");
  20. }
  21. else if (item is OrderByModel)
  22. {
  23. var orderByModel = item as OrderByModel;
  24. sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ObjToString().ToSqlFilter())} {orderByModel.OrderByType.ToString().ToUpper()} ,");
  25. }
  26. else
  27. {
  28. }
  29. }
  30. return new KeyValuePair<string, SugarParameter[]>(sql.ToString().TrimEnd(','), pars?.ToArray());
  31. }
  32. }
  33. }