123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- using AutoMapper;
- using EyeSoft.Extensions;
- using OASystem.Domain.Dtos.Resource;
- using OASystem.Domain.Entities.Groups;
- using OASystem.Domain.Entities.Resource;
- using OASystem.Domain.ViewModels.Resource;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OASystem.Infrastructure.Repositories.Resource
- {
- /// <summary>
- /// 世运会成本预算 仓储
- /// </summary>
- public class GamesBudgetMasterRepository : BaseRepository<Grp_GamesBudgetMaster, Grp_GamesBudgetMaster>
- {
- private readonly IMapper _mapper;
- private readonly JsonView _jv;
- public GamesBudgetMasterRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
- {
- _mapper = mapper;
- _jv = new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "操作失败!" };
- }
- /// <summary>
- /// List
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- public async Task<JsonView> ListAsync(GamesBudgetMasterListDto dto)
- {
- _jv.Msg = "暂无数据!";
- var search = dto.Search;
- RefAsync<int> total = 0;
- var infos = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
- .Where(x => x.IsDel == 0)
- .WhereIF(!string.IsNullOrEmpty(search), x => x.T0.Contains(search) || x.ProjectWork.Contains(search) || x.CalculationContent.Contains(search))
- .OrderByDescending(x => x.CreateTime)
- .Select<GamesBudgetMasterListView>()
- .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
- _jv.Code = StatusCodes.Status200OK;
- _jv.Msg = $"操作成功!";
- _jv.Data = infos;
- _jv.Count = total;
- return _jv;
- }
- /// <summary>
- /// 详情
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public async Task<JsonView> InfoAsync(int id)
- {
- _jv.Msg = "暂无数据!";
- var info = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
- .Where(x => x.IsDel == 0 && x.Id == id)
- .Select<GamesBudgetMasterInfoView>()
- .FirstAsync();
- if (info != null)
- {
- _jv.Code = StatusCodes.Status200OK;
- _jv.Msg = $"操作成功!";
- _jv.Data = info;
- }
- return _jv;
- }
- /// <summary>
- /// 添加
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public async Task<JsonView> AddAsync(GamesBudgetMasterAddDto dto)
- {
- var info = _mapper.Map<Grp_GamesBudgetMaster>(dto);
- var isNl = await _sqlSugar.Queryable<Grp_GamesBudgetMaster>()
- .FirstAsync(x => x.IsDel == 0 &&
- (x.T0.Equals(info.T0) ||
- x.ProjectWork.Equals (info.ProjectWork) ||
- x.CalculationContent.Equals(info.CalculationContent)));
- if (isNl != null)
- {
- _jv.Msg = "该项类型费用已存在,请勿重复添加!";
- return _jv;
- }
- info.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- info.LastUpdateUserId = dto.CurrUserId;
- info.CreateTime = DateTime.Now;
- info.CreateUserId = dto.CurrUserId;
- var insert = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
- if (insert > 0)
- {
- _jv.Msg = "操作成功!";
- _jv.Code = StatusCodes.Status200OK;
- return _jv;
- }
- return _jv;
- }
- /// <summary>
- /// 编辑
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public async Task<JsonView> EditAsync(GamesBudgetMasterEditDto dto)
- {
- var info = _mapper.Map<Grp_GamesBudgetMaster>(dto);
- info.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- info.LastUpdateUserId = dto.CurrUserId;
- var edit = await _sqlSugar.Updateable(info)
- .IgnoreColumns(x => new { x.CreateTime, x.CreateUserId, x.DeleteTime, x.DeleteUserId, x.IsDel })
- .ExecuteCommandAsync();
- if (edit > 0)
- {
- _jv.Msg = "操作成功!";
- _jv.Code = StatusCodes.Status200OK;
- return _jv;
- }
- return _jv;
- }
- /// <summary>
- /// 删除
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public async Task<JsonView> DelAsync(GamesBudgetMasterDelDto dto)
- {
- var del = await _sqlSugar.Updateable<Grp_GamesBudgetMaster>()
- .SetColumns(x => x.DeleteUserId == dto.CurrUserId)
- .SetColumns(x => x.DeleteTime == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
- .SetColumns(x => x.IsDel == 1)
- .Where(x => x.Id == dto.Id)
- .ExecuteCommandAsync();
- if (del > 0)
- {
- _jv.Msg = "操作成功!";
- _jv.Code = StatusCodes.Status200OK;
- return _jv;
- }
- return _jv;
- }
- }
- }
|