GamesBudgetMasterRepository.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. using AutoMapper;
  2. using EyeSoft.Extensions;
  3. using OASystem.Domain.Dtos.Resource;
  4. using OASystem.Domain.Entities.Groups;
  5. using OASystem.Domain.Entities.Resource;
  6. using OASystem.Domain.ViewModels.Resource;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace OASystem.Infrastructure.Repositories.Resource
  13. {
  14. /// <summary>
  15. /// 世运会成本预算 仓储
  16. /// </summary>
  17. public class GamesBudgetMasterRepository : BaseRepository<Grp_GamesBudgetMaster, Grp_GamesBudgetMaster>
  18. {
  19. private readonly IMapper _mapper;
  20. private readonly JsonView _jv;
  21. public GamesBudgetMasterRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
  22. {
  23. _mapper = mapper;
  24. _jv = new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "操作失败!" };
  25. }
  26. /// <summary>
  27. /// List
  28. /// </summary>
  29. /// <param name="dto"></param>
  30. /// <returns></returns>
  31. public async Task<JsonView> ListAsync(GamesBudgetMasterListDto dto)
  32. {
  33. _jv.Msg = "暂无数据!";
  34. var search = dto.Search;
  35. RefAsync<int> total = 0;
  36. var infos = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
  37. .Where(x => x.IsDel == 0)
  38. .WhereIF(!string.IsNullOrEmpty(search), x => x.T0.Contains(search) || x.ProjectWork.Contains(search) || x.CalculationContent.Contains(search))
  39. .OrderByDescending(x => x.CreateTime)
  40. .Select<GamesBudgetMasterListView>()
  41. .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
  42. _jv.Code = StatusCodes.Status200OK;
  43. _jv.Msg = $"操作成功!";
  44. _jv.Data = infos;
  45. _jv.Count = total;
  46. return _jv;
  47. }
  48. /// <summary>
  49. /// 详情
  50. /// </summary>
  51. /// <param name="id"></param>
  52. /// <returns></returns>
  53. public async Task<JsonView> InfoAsync(int id)
  54. {
  55. _jv.Msg = "暂无数据!";
  56. var info = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
  57. .Where(x => x.IsDel == 0 && x.Id == id)
  58. .Select<GamesBudgetMasterInfoView>()
  59. .FirstAsync();
  60. if (info != null)
  61. {
  62. _jv.Code = StatusCodes.Status200OK;
  63. _jv.Msg = $"操作成功!";
  64. _jv.Data = info;
  65. }
  66. return _jv;
  67. }
  68. /// <summary>
  69. /// 添加
  70. /// </summary>
  71. /// <param name="id"></param>
  72. /// <returns></returns>
  73. public async Task<JsonView> AddAsync(GamesBudgetMasterAddDto dto)
  74. {
  75. var info = _mapper.Map<Grp_GamesBudgetMaster>(dto);
  76. var isNl = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
  77. .FirstAsync(x => x.IsDel == 0 &&
  78. (x.T0.Equals(info.T0) ||
  79. x.ProjectWork.Equals (info.ProjectWork) ||
  80. x.CalculationContent.Equals(info.CalculationContent)));
  81. if (isNl != null)
  82. {
  83. _jv.Msg = "该项类型费用已存在,请勿重复添加!";
  84. return _jv;
  85. }
  86. info.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  87. info.LastUpdateUserId = dto.CurrUserId;
  88. info.CreateTime = DateTime.Now;
  89. info.CreateUserId = dto.CurrUserId;
  90. var insert = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
  91. if (insert > 0)
  92. {
  93. _jv.Msg = "操作成功!";
  94. _jv.Code = StatusCodes.Status200OK;
  95. return _jv;
  96. }
  97. return _jv;
  98. }
  99. /// <summary>
  100. /// 编辑
  101. /// </summary>
  102. /// <param name="id"></param>
  103. /// <returns></returns>
  104. public async Task<JsonView> EditAsync(GamesBudgetMasterEditDto dto)
  105. {
  106. var info = _mapper.Map<Grp_GamesBudgetMaster>(dto);
  107. info.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  108. info.LastUpdateUserId = dto.CurrUserId;
  109. var edit = await _sqlSugar.Updateable(info)
  110. .IgnoreColumns(x => new { x.CreateTime, x.CreateUserId, x.DeleteTime, x.DeleteUserId, x.IsDel })
  111. .ExecuteCommandAsync();
  112. if (edit > 0)
  113. {
  114. _jv.Msg = "操作成功!";
  115. _jv.Code = StatusCodes.Status200OK;
  116. return _jv;
  117. }
  118. return _jv;
  119. }
  120. /// <summary>
  121. /// 删除
  122. /// </summary>
  123. /// <param name="id"></param>
  124. /// <returns></returns>
  125. public async Task<JsonView> DelAsync(GamesBudgetMasterDelDto dto)
  126. {
  127. var del = await _sqlSugar.Updateable<Grp_GamesBudgetMaster>()
  128. .SetColumns(x => x.DeleteUserId == dto.CurrUserId)
  129. .SetColumns(x => x.DeleteTime == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
  130. .SetColumns(x => x.IsDel == 1)
  131. .Where(x => x.Id == dto.Id)
  132. .ExecuteCommandAsync();
  133. if (del > 0)
  134. {
  135. _jv.Msg = "操作成功!";
  136. _jv.Code = StatusCodes.Status200OK;
  137. return _jv;
  138. }
  139. return _jv;
  140. }
  141. }
  142. }