You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
5.2 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. using Shentun.Peis.Models;
  2. using Shentun.Peis.Units;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using TencentCloud.Cme.V20191029.Models;
  10. using Volo.Abp.Application.Dtos;
  11. using Volo.Abp.Domain.Entities;
  12. using Volo.Abp.Domain.Repositories;
  13. using Volo.Abp.Identity;
  14. using Volo.Abp.Users;
  15. namespace Shentun.Peis
  16. {
  17. public class PageHelper
  18. {
  19. //public static async Task UpdateSort<TEntity>(IRepository<TEntity, Guid> repository, Guid id, Guid targetid)
  20. // where TEntity : class, IEntity<Guid>, IDisplayOrder
  21. /// <summary>
  22. /// 分页加搜索
  23. /// </summary>
  24. /// <typeparam name="TEntity"></typeparam>
  25. /// <typeparam name="TKey"></typeparam>
  26. /// <param name="repository"></param>
  27. /// <param name="userrepository"></param>
  28. /// <param name="input"></param>
  29. /// <param name="orderby">排序方式 0、升序 1、降序 </param>
  30. /// <returns></returns>
  31. public static async Task<List<TEntity>> GetPageListInFitler<TEntity, TKey>
  32. (IRepository<TEntity, TKey> repository,
  33. IRepository<IdentityUser, Guid> userrepository,
  34. GetListInFilterDto input, int orderby = 0)
  35. where TEntity : class, IEntity<TKey>, IDisplayName, IDisplayOrder
  36. {
  37. List<TEntity> entlist = new List<TEntity>();
  38. if (!string.IsNullOrEmpty(input.Filter))
  39. entlist = (await repository.GetListAsync()).Where(m => m.DisplayName.Contains(input.Filter)).ToList();
  40. else
  41. entlist = await repository.GetListAsync();
  42. if (orderby == 1)
  43. {
  44. //分页
  45. entlist = entlist.OrderByDescending(m => m.DisplayOrder).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
  46. }
  47. else
  48. {
  49. entlist = entlist.OrderBy(m => m.DisplayOrder).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
  50. }
  51. return entlist;
  52. }
  53. /// <summary>
  54. /// 分页加搜索 不带GUID主键
  55. /// </summary>
  56. /// <typeparam name="TEntity"></typeparam>
  57. /// <param name="repository"></param>
  58. /// <param name="userrepository"></param>
  59. /// <param name="input"></param>
  60. /// <param name="orderby">排序方式 0、升序 1、降序 </param>
  61. /// <returns></returns>
  62. public static async Task<List<TEntity>> GetPageListInFitlerNoGuid<TEntity>
  63. (IRepository<TEntity> repository,
  64. IRepository<IdentityUser, Guid> userrepository,
  65. GetListInFilterDto input, int orderby = 0)
  66. where TEntity : class, IEntity, IDisplayName, IDisplayOrder
  67. {
  68. List<TEntity> entlist = new List<TEntity>();
  69. if (!string.IsNullOrEmpty(input.Filter))
  70. entlist = (await repository.GetListAsync()).Where(m => m.DisplayName.Contains(input.Filter)).ToList();
  71. else
  72. entlist = await repository.GetListAsync();
  73. if (orderby == 1)
  74. {
  75. //分页
  76. entlist = entlist.OrderByDescending(m => m.DisplayOrder).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
  77. }
  78. else
  79. {
  80. entlist = entlist.OrderBy(m => m.DisplayOrder).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
  81. }
  82. return entlist;
  83. }
  84. public static async Task<List<TEntity>> GetPageListInFitlerNotOrder<TEntity, TKey>
  85. (IRepository<TEntity, TKey> repository,
  86. IRepository<IdentityUser, Guid> userrepository,
  87. GetListInFilterDto input)
  88. where TEntity : class, IEntity<TKey>, IDisplayName
  89. {
  90. List<TEntity> entlist = new List<TEntity>();
  91. if (!string.IsNullOrEmpty(input.Filter))
  92. entlist = (await repository.GetListAsync()).Where(m => m.DisplayName.Contains(input.Filter)).ToList();
  93. else
  94. entlist = await repository.GetListAsync();
  95. //分页
  96. entlist = entlist.Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
  97. return entlist;
  98. }
  99. public static DateOnly? ConvertDate(string? dateTime)
  100. {
  101. if (string.IsNullOrEmpty(dateTime))
  102. {
  103. return null;
  104. }
  105. else
  106. {
  107. return DateOnly.Parse(dateTime);
  108. }
  109. }
  110. public static DateTime? ConvertDatetimeV(string dateTime)
  111. {
  112. if (string.IsNullOrEmpty(dateTime))
  113. {
  114. return null;
  115. }
  116. else
  117. {
  118. return DateTime.Parse(dateTime);
  119. }
  120. }
  121. public static byte[] Base64DecodeString(string inputStr)
  122. {
  123. byte[] decodedByteArray = Convert.FromBase64String(inputStr);
  124. return (decodedByteArray);
  125. }
  126. public static string Base64EncodeBytes(byte[] inBytes)
  127. {
  128. return (Convert.ToBase64String(inBytes));
  129. }
  130. }
  131. }