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;
}
}
}