CurrencyExchangeRatesApplicationService.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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.Lambda;
  17. using ShwasherSys.BasicInfo.Dto;
  18. using Abp.Configuration;
  19. namespace ShwasherSys.BasicInfo
  20. {
  21. [AbpAuthorize]
  22. public class CurrencyExchangeRateAppService : ShwasherAsyncCrudAppService<CurrencyExchangeRate, CurrencyExchangeRateDto, int, PagedRequestDto, CurrencyExchangeRateCreateDto, CurrencyExchangeRateUpdateDto >, ICurrencyExchangeRateAppService
  23. {
  24. public CurrencyExchangeRateAppService(
  25. IIwbSettingManager settingManager,
  26. ICacheManager cacheManager,
  27. IRepository<CurrencyExchangeRate, int> repository) : base(repository)
  28. {
  29. SettingManager = settingManager;
  30. CacheManager = cacheManager;
  31. }
  32. protected override bool KeyIsAuto { get; set; } = false;
  33. #region GetSelect
  34. [DisableAuditing]
  35. public async Task<List<SelectListItem>> GetSelectList()
  36. {
  37. var list = await Repository.GetAllListAsync();
  38. var slist = new List<SelectListItem> {new SelectListItem {Text = @"请选择...", Value = "", Selected = true}};
  39. foreach (var l in list)
  40. {
  41. //slist.Add(new SelectListItem { Text = l., Value = l. });
  42. }
  43. return slist;
  44. }
  45. [DisableAuditing]
  46. public async Task<string> GetSelectStr()
  47. {
  48. var list = await Repository.GetAllListAsync();
  49. string str = "<option value=\"\" selected>请选择...</option>";
  50. foreach (var l in list)
  51. {
  52. //str += $"<option value=\"{l.}\">{l.}</option>";
  53. }
  54. return str;
  55. }
  56. #endregion
  57. #region CURD
  58. [AbpAuthorize(PermissionNames.PagesBasicInfoCurrency)]
  59. public override async Task<CurrencyExchangeRateDto> Create(CurrencyExchangeRateCreateDto input)
  60. {
  61. return await CreateEntity(input);
  62. }
  63. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRateUpdate)]
  64. public override async Task<CurrencyExchangeRateDto> Update(CurrencyExchangeRateUpdateDto input)
  65. {
  66. return await UpdateEntity(input);
  67. }
  68. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRateDelete)]
  69. public override Task Delete(EntityDto<int> input)
  70. {
  71. return Repository.DeleteAsync(input.Id);
  72. }
  73. [DisableAuditing]
  74. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRate)]
  75. public override async Task<PagedResultDto<CurrencyExchangeRateDto>> GetAll(PagedRequestDto input)
  76. {
  77. var query = CreateFilteredQuery(input);
  78. query = ApplyFilter(query, input);
  79. var totalCount = await AsyncQueryableExecuter.CountAsync(query);
  80. query = ApplySorting(query, input);
  81. query = ApplyPaging(query, input);
  82. var entities = await AsyncQueryableExecuter.ToListAsync(query);
  83. var dtoList = new PagedResultDto<CurrencyExchangeRateDto>(totalCount, entities.Select(MapToEntityDto).ToList());
  84. return dtoList;
  85. }
  86. #region Get
  87. [DisableAuditing]
  88. // [AbpAuthorize(PermissionNames.PagesCurrencyExchangeRate)]
  89. public Task<CurrencyExchangeRate> GetEntityById(int id)
  90. {
  91. return Repository.FirstOrDefaultAsync(id);
  92. }
  93. [DisableAuditing]
  94. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRate)]
  95. public Task<CurrencyExchangeRate> GetEntityByNo(string no)
  96. {
  97. if (KeyFiledName.IsNullOrEmpty())
  98. {
  99. CheckErrors(IwbIdentityResult.Failed("编码/编号字段不明确,请检查后再操作!"));
  100. }
  101. LambdaObject obj = new LambdaObject()
  102. {
  103. FieldType = LambdaFieldType.S,
  104. FieldName = KeyFiledName,
  105. FieldValue = no,
  106. ExpType = LambdaExpType.Equal
  107. };
  108. var exp = obj.GetExp<CurrencyExchangeRate>();
  109. return Repository.FirstOrDefaultAsync(exp);
  110. }
  111. [DisableAuditing]
  112. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRate)]
  113. public async Task<CurrencyExchangeRateDto> GetDtoById(int id)
  114. {
  115. var entity = await GetEntityById(id);
  116. return MapToEntityDto(entity);
  117. }
  118. [DisableAuditing]
  119. //[AbpAuthorize(PermissionNames.PagesCurrencyExchangeRate)]
  120. public async Task<CurrencyExchangeRateDto> GetDtoByNo(string no)
  121. {
  122. var entity = await GetEntityByNo(no);
  123. return MapToEntityDto(entity);
  124. }
  125. #endregion
  126. #region Hide
  127. //protected override IQueryable<CurrencyExchangeRate> ApplyFilter(IQueryable<CurrencyExchangeRate> query, TGetAllInput input)
  128. //{
  129. // if (!input.KeyWords.IsNullOrEmpty())
  130. // {
  131. // object keyWords = input.KeyWords;
  132. // LambdaObject obj = new LambdaObject()
  133. // {
  134. // FieldType = (LambdaFieldType)input.FieldType,
  135. // FieldName = input.KeyField,
  136. // FieldValue = keyWords,
  137. // ExpType = (LambdaExpType)input.ExpType
  138. // };
  139. // var exp = obj.GetExp<CurrencyExchangeRate>();
  140. // query = query.Where(exp);
  141. // }
  142. // if (input.SearchList != null && input.SearchList.Count > 0)
  143. // {
  144. // List<LambdaObject> objList = new List<LambdaObject>();
  145. // foreach (var o in input.SearchList)
  146. // {
  147. // if (o.KeyWords.IsNullOrEmpty())
  148. // continue;
  149. // object keyWords = o.KeyWords;
  150. // objList.Add(new LambdaObject
  151. // {
  152. // FieldType = (LambdaFieldType)o.FieldType,
  153. // FieldName = o.KeyField,
  154. // FieldValue = keyWords,
  155. // ExpType = (LambdaExpType)o.ExpType
  156. // });
  157. // }
  158. // var exp = objList.GetExp<CurrencyExchangeRate>();
  159. // query = query.Where(exp);
  160. // }
  161. // return query;
  162. //}
  163. //protected override IQueryable<CurrencyExchangeRate> ApplySorting(IQueryable<CurrencyExchangeRate> query, PagedRequestDto input)
  164. //{
  165. // return query.OrderBy(a => a.No);
  166. //}
  167. //protected override IQueryable<CurrencyExchangeRate> ApplyPaging(IQueryable<CurrencyExchangeRate> query, PagedRequestDto input)
  168. //{
  169. // if (input is IPagedResultRequest pagedInput)
  170. // {
  171. // return query.Skip(pagedInput.SkipCount).Take(pagedInput.MaxResultCount);
  172. // }
  173. // return query;
  174. //}
  175. #endregion
  176. #endregion
  177. }
  178. }