mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-10-04 07:09:58 +00:00
Dont allow duplicate photo subjects on photo, dont allow more than 4 photo subjects on photo
This commit is contained in:
parent
b15d56f6e9
commit
bd21b8f9ed
2 changed files with 39 additions and 2 deletions
|
@ -53,6 +53,11 @@ namespace LBPUnion.ProjectLighthouse.Controllers
|
|||
photo.CreatorId = user.UserId;
|
||||
photo.Creator = user;
|
||||
|
||||
if (photo.Subjects.Count > 4)
|
||||
{
|
||||
return this.BadRequest();
|
||||
}
|
||||
|
||||
foreach (PhotoSubject subject in photo.Subjects)
|
||||
{
|
||||
subject.User = await this.database.Users.FirstOrDefaultAsync(u => u.Username == subject.Username);
|
||||
|
@ -67,6 +72,17 @@ namespace LBPUnion.ProjectLighthouse.Controllers
|
|||
|
||||
await this.database.SaveChangesAsync();
|
||||
|
||||
// Check for duplicate photo subjects
|
||||
List<int> subjectUserIds = new(4);
|
||||
foreach (PhotoSubject subject in photo.Subjects)
|
||||
{
|
||||
if (subjectUserIds.Contains(subject.UserId))
|
||||
{
|
||||
return this.BadRequest();
|
||||
}
|
||||
subjectUserIds.Add(subject.UserId);
|
||||
}
|
||||
|
||||
photo.PhotoSubjectIds = photo.Subjects.Select(subject => subject.PhotoSubjectId.ToString()).ToArray();
|
||||
|
||||
// photo.Slot = await this.database.Slots.FirstOrDefaultAsync(s => s.SlotId == photo.SlotId);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue