团队新增验证
This commit is contained in:
parent
b2dafc2ad2
commit
efabdebbd2
@ -46,17 +46,23 @@ public class AddTeamInput
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 领队ID集合
|
/// 领队ID集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<long>? LeaderIds { get; set; }
|
[Required(ErrorMessage = "请选择领队")]
|
||||||
|
[MinLength(1, ErrorMessage = "至少需要选择一名领队")]
|
||||||
|
public List<long> LeaderIds { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 教练ID集合
|
/// 教练ID集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<long>? CoachIds { get; set; }
|
[Required(ErrorMessage = "请选择教练")]
|
||||||
|
[MinLength(1, ErrorMessage = "至少需要选择一名教练")]
|
||||||
|
public List<long> CoachIds { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 队员ID集合
|
/// 队员ID集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<long>? MemberIds { get; set; }
|
[Required(ErrorMessage = "请选择队员")]
|
||||||
|
[MinLength(1, ErrorMessage = "至少需要选择一名队员")]
|
||||||
|
public List<long> MemberIds { get; set; } = null!;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -123,20 +123,12 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
var newTeam = await _teamRep.InsertReturnEntityAsync(team);
|
var newTeam = await _teamRep.InsertReturnEntityAsync(team);
|
||||||
var members = new List<TeamMember>();
|
var members = new List<TeamMember>();
|
||||||
|
|
||||||
if (input.LeaderIds != null)
|
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
||||||
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
||||||
|
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now }));
|
||||||
if (input.CoachIds != null)
|
|
||||||
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
|
||||||
|
|
||||||
if (input.MemberIds != null)
|
|
||||||
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now }));
|
|
||||||
|
|
||||||
if (members.Any())
|
// 去重,防止同一个人在同一个团队有多个角色(如果业务允许则不需要去重,这里假设允许)
|
||||||
{
|
await _memberRep.InsertRangeAsync(members);
|
||||||
// 去重,防止同一个人在同一个团队有多个角色(如果业务允许则不需要去重,这里假设允许)
|
|
||||||
await _memberRep.InsertRangeAsync(members);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,19 +195,10 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
await _memberRep.DeleteAsync(m => m.TeamId == input.Id);
|
await _memberRep.DeleteAsync(m => m.TeamId == input.Id);
|
||||||
|
|
||||||
var members = new List<TeamMember>();
|
var members = new List<TeamMember>();
|
||||||
if (input.LeaderIds != null)
|
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
||||||
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
||||||
|
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now }));
|
||||||
if (input.CoachIds != null)
|
await _memberRep.InsertRangeAsync(members);
|
||||||
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
|
||||||
|
|
||||||
if (input.MemberIds != null)
|
|
||||||
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now }));
|
|
||||||
|
|
||||||
if (members.Any())
|
|
||||||
{
|
|
||||||
await _memberRep.InsertRangeAsync(members);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user