using AutoMapper; using OASystem.Domain.Entities.Groups; using OASystem.Domain.ViewModels.Groups; using Org.BouncyCastle.Utilities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OASystem.Infrastructure.Repositories.Groups { /// /// 团组下单前信息 /// public class GroupOrderPreInfoRepository : BaseRepository { private readonly IMapper _mapper; public GroupOrderPreInfoRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar) { _mapper = mapper; } /// /// 获取模板信息 /// /// /// public async Task TempInfoById(int tempId = 1404) { var tempInfos = await _sqlSugar.Queryable((ft, sd1, sd2) => new JoinQueryInfos( JoinType.Left, ft.FieldNameId == sd1.Id, JoinType.Left, ft.FieldTypeId == sd2.Id )) .Where((ft, sd1, sd2) => ft.IsDel == 0 && ft.TempId == tempId) .OrderBy((ft, sd1, sd2) => ft.Index) .Select((ft, sd1, sd2) => new GrpOrderPreItemView() { FieldName = sd1.Name, FieldTypeName = sd2.Name, IsRequired = ft.IsRequired, IsRemark = ft.IsRemark, Index = ft.Index }) .ToArrayAsync(); return tempInfos; } /// /// 获取团组下单前信息列表 /// /// /// public async Task InfoAsync(int id) { var jw = new JsonView() { Code = StatusCodes.Status200OK,Msg = "操作成功!" }; var view = new GrpOrderPreInfoView(); var info = await _sqlSugar.Queryable().FirstAsync(x => x.IsDel == 0 && x.Id == id); if (info == null) { view.TempId = 1404; view.Items = await TempInfoById(view.TempId); } jw.Data = view; return jw; } } }