OutFactorysApplicationService.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. using System.Web.Mvc;
  5. using Abp.Application.Services.Dto;
  6. using Abp.Auditing;
  7. using Abp.Authorization;
  8. using Abp.Domain.Repositories;
  9. using Abp.Extensions;
  10. using Abp.Runtime.Caching;
  11. using IwbZero.Auditing;
  12. using IwbZero.AppServiceBase;
  13. using IwbZero.IdentityFramework;
  14. using IwbZero.Setting;
  15. using ShwasherSys.Authorization.Permissions;
  16. using ShwasherSys.BasicInfo.OutFactory.Dto;
  17. using ShwasherSys.Lambda;
  18. namespace ShwasherSys.BasicInfo.OutFactory
  19. {
  20. [AbpAuthorize]
  21. public class OutFactoryAppService : ShwasherAsyncCrudAppService<OutFactory, OutFactoryDto, string, PagedRequestDto, OutFactoryCreateDto, OutFactoryUpdateDto>, IOutFactoryAppService
  22. {
  23. public OutFactoryAppService(
  24. IIwbSettingManager settingManager,
  25. ICacheManager cacheManager,
  26. IRepository<OutFactory, string> repository) : base(repository)
  27. {
  28. SettingManager = settingManager;
  29. CacheManager = cacheManager;
  30. }
  31. protected override bool KeyIsAuto { get; set; } = false;
  32. #region GetSelect
  33. [DisableAuditing]
  34. public async Task<List<SelectListItem>> GetSelectList()
  35. {
  36. var list = await Repository.GetAllListAsync();
  37. var slist = new List<SelectListItem> {new SelectListItem {Text = @"请选择...", Value = "", Selected = true}};
  38. foreach (var l in list)
  39. {
  40. //slist.Add(new SelectListItem { Text = l., Value = l. });
  41. }
  42. return slist;
  43. }
  44. [DisableAuditing]
  45. public async Task<string> GetSelectStr()
  46. {
  47. var list = await Repository.GetAllListAsync();
  48. string str = "<option value=\"\" selected>请选择...</option>";
  49. foreach (var l in list)
  50. {
  51. //str += $"<option value=\"{l.}\">{l.}</option>";
  52. }
  53. return str;
  54. }
  55. #endregion
  56. #region CURD
  57. [AbpAuthorize(PermissionNames.PagesBasicInfoOutFactoryCreate)]
  58. public override async Task<OutFactoryDto> Create(OutFactoryCreateDto input)
  59. {
  60. return await CreateEntity(input);
  61. }
  62. [AbpAuthorize(PermissionNames.PagesBasicInfoOutFactoryUpdate)]
  63. public override async Task<OutFactoryDto> Update(OutFactoryUpdateDto input)
  64. {
  65. return await UpdateEntity(input);
  66. }
  67. [AbpAuthorize(PermissionNames.PagesBasicInfoOutFactoryDelete)]
  68. public override Task Delete(EntityDto<string> input)
  69. {
  70. return Repository.DeleteAsync(input.Id);
  71. }
  72. [DisableAuditing]
  73. [AbpAuthorize(PermissionNames.PagesBasicInfoOutFactory)]
  74. public override async Task<PagedResultDto<OutFactoryDto>> GetAll(PagedRequestDto input)
  75. {
  76. var query = CreateFilteredQuery(input);
  77. query = ApplyFilter(query, input);
  78. var totalCount = await AsyncQueryableExecuter.CountAsync(query);
  79. query = ApplySorting(query, input);
  80. query = ApplyPaging(query, input);
  81. var entities = await AsyncQueryableExecuter.ToListAsync(query);
  82. var dtoList = new PagedResultDto<OutFactoryDto>(totalCount, entities.Select(MapToEntityDto).ToList());
  83. return dtoList;
  84. }
  85. #region Hide
  86. //protected override IQueryable<OutFactory> ApplyFilter(IQueryable<OutFactory> query, TGetAllInput input)
  87. //{
  88. // if (!input.KeyWords.IsNullOrEmpty())
  89. // {
  90. // object keyWords = input.KeyWords;
  91. // LambdaObject obj = new LambdaObject()
  92. // {
  93. // FieldType = (LambdaFieldType)input.FieldType,
  94. // FieldName = input.KeyField,
  95. // FieldValue = keyWords,
  96. // ExpType = (LambdaExpType)input.ExpType
  97. // };
  98. // var exp = obj.GetExp<OutFactory>();
  99. // query = query.Where(exp);
  100. // }
  101. // if (input.SearchList != null && input.SearchList.Count > 0)
  102. // {
  103. // List<LambdaObject> objList = new List<LambdaObject>();
  104. // foreach (var o in input.SearchList)
  105. // {
  106. // if (o.KeyWords.IsNullOrEmpty())
  107. // continue;
  108. // object keyWords = o.KeyWords;
  109. // objList.Add(new LambdaObject
  110. // {
  111. // FieldType = (LambdaFieldType)o.FieldType,
  112. // FieldName = o.KeyField,
  113. // FieldValue = keyWords,
  114. // ExpType = (LambdaExpType)o.ExpType
  115. // });
  116. // }
  117. // var exp = objList.GetExp<OutFactory>();
  118. // query = query.Where(exp);
  119. // }
  120. // return query;
  121. //}
  122. //protected override IQueryable<OutFactory> ApplySorting(IQueryable<OutFactory> query, PagedRequestDto input)
  123. //{
  124. // return query.OrderBy(a => a.No);
  125. //}
  126. //protected override IQueryable<OutFactory> ApplyPaging(IQueryable<OutFactory> query, PagedRequestDto input)
  127. //{
  128. // if (input is IPagedResultRequest pagedInput)
  129. // {
  130. // return query.Skip(pagedInput.SkipCount).Take(pagedInput.MaxResultCount);
  131. // }
  132. // return query;
  133. //}
  134. #endregion
  135. #endregion
  136. }
  137. }