ResultHelper.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace SqlSugar
  5. {
  6. /// <summary>
  7. /// ResultHelper
  8. /// </summary>
  9. public partial class JsonQueryableProvider : IJsonQueryableProvider<JsonQueryResult>
  10. {
  11. #region SqlHelper
  12. private List<SqlObjectResult> ToPageDefault(List<SqlObjectResult> result, JsonQueryParameter jsonQueryParameter)
  13. {
  14. if (jsonQueryParameter.IsPage)
  15. {
  16. AddPageSql(result, jsonQueryParameter);
  17. }
  18. else
  19. {
  20. AddDefaultSql(result);
  21. }
  22. Check.ExceptionEasy(jsonQueryParameter.JoinNoSelect, "join query need Select", "联表查询需要设置Select");
  23. return result;
  24. }
  25. private void AddDefaultSql(List<SqlObjectResult> result)
  26. {
  27. result.Add(new SqlObjectResult(sugarQueryable.Clone().ToSql(), JsonProviderType.Queryable));
  28. }
  29. private void AddPageSql(List<SqlObjectResult> result, JsonQueryParameter jsonQueryParameter)
  30. {
  31. var skipValue = (jsonQueryParameter.PageIndex.Value - 1) * jsonQueryParameter.PageSize.Value;
  32. var takeValue = jsonQueryParameter.PageSize.Value;
  33. result.Add(new SqlObjectResult(sugarQueryable.Clone().Skip(skipValue).Take(takeValue).ToSql(), JsonProviderType.Queryable));
  34. var countQueryable = sugarQueryable.Select("COUNT(1)");
  35. countQueryable.QueryBuilder.OrderByValue = null;
  36. result.Add(new SqlObjectResult(countQueryable.ToSql(), JsonProviderType.QueryableCount));
  37. }
  38. #endregion
  39. #region ObjectHeper
  40. private void AddDescription()
  41. {
  42. if (this.IsDescription)
  43. {
  44. }
  45. }
  46. private void AddList(JsonQueryResult result, SqlObjectResult SqlList)
  47. {
  48. if (SqlList != null)
  49. {
  50. result.Data = this.context.Ado.SqlQuery<dynamic>(SqlList.Sql, SqlList.Parameters);
  51. }
  52. }
  53. private void AddCount(JsonQueryResult result, SqlObjectResult SqlCount)
  54. {
  55. if (SqlCount != null)
  56. {
  57. result.ToTalRows = this.context.Ado.GetInt(SqlCount.Sql, SqlCount.Parameters);
  58. }
  59. }
  60. #endregion
  61. }
  62. }