Renamed PlannedRaidRole to RaidRole

This commit is contained in:
t.ruspekhofer 2022-04-06 23:20:29 +02:00
parent 7533d5a704
commit dcdc891925
17 changed files with 65 additions and 46 deletions

View file

@ -158,11 +158,11 @@ namespace Lieb.Data
var signUps = new RaidSignUp[]
{
new RaidSignUp{GuildWars2AccountId = linaith.GuildWars2AccountId, LiebUserId = users[0].LiebUserId, PlannedRaidRoleId = ele.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, PlannedRaidRoleId = flexTest1.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, PlannedRaidRoleId = flexTest2.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, PlannedRaidRoleId = flexTest2.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, PlannedRaidRoleId = flexTest3.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex }
new RaidSignUp{GuildWars2AccountId = linaith.GuildWars2AccountId, LiebUserId = users[0].LiebUserId, RaidRoleId = ele.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, RaidRoleId = flexTest1.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, RaidRoleId = flexTest2.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, RaidRoleId = flexTest2.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, RaidRoleId = flexTest3.RaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex }
};
context.RaidSignUps.AddRange(signUps);

View file

@ -25,6 +25,7 @@ namespace Lieb.Data
public DbSet<RaidReminder> RaidReminders { get; set; }
public DbSet<RaidSignUp> RaidSignUps { get; set; }
public DbSet<RaidSignUpHistory> RaidSignUpHistories { get; set; }
public DbSet<DiscordRaidMessage> DiscordRaidMessages { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
@ -41,6 +42,7 @@ namespace Lieb.Data
modelBuilder.Entity<RaidReminder>().ToTable("RaidReminder");
modelBuilder.Entity<RaidSignUp>().ToTable("RaidSignUp");
modelBuilder.Entity<RaidSignUpHistory>().ToTable("RaidSignUpHistory");
modelBuilder.Entity<DiscordRaidMessage>().ToTable("DiscordRaidMessage");
}
}
}

View file

@ -28,7 +28,7 @@ namespace Lieb.Data
.ThenInclude(a => a.EquippedBuilds)
.ThenInclude(e => e.GuildWars2Build)
.Include(r => r.SignUps)
.ThenInclude(s => s.PlannedRaidRole)
.ThenInclude(s => s.RaidRole)
.FirstOrDefault(r => r.RaidId == raidId);
if (raid == null || raid.RaidType == RaidType.Planned)
@ -71,7 +71,7 @@ namespace Lieb.Data
role.Name = "No class found.";
}
raid.Roles.Add(role);
signUp.PlannedRaidRole = role;
signUp.RaidRole = role;
}
}
@ -95,7 +95,7 @@ namespace Lieb.Data
role.Name = "No class found.";
}
raid.Roles.Add(role);
signUp.PlannedRaidRole = role;
signUp.RaidRole = role;
}
}
@ -117,7 +117,7 @@ namespace Lieb.Data
role.Name = userBuild.Value.BuildName;
raid.Roles.Add(role);
RaidSignUp signUp = raid.SignUps.FirstOrDefault(s => s.LiebUserId == userBuild.Key);
signUp.PlannedRaidRole = role;
signUp.RaidRole = role;
}
}
@ -329,7 +329,7 @@ namespace Lieb.Data
List<RaidRole> rolesToDelete = new List<RaidRole>();
foreach (RaidRole role in raid.Roles)
{
if (!role.IsRandomSignUpRole && raid.SignUps.FirstOrDefault(s => s.PlannedRaidRoleId == role.RaidRoleId) == null)
if (!role.IsRandomSignUpRole && raid.SignUps.FirstOrDefault(s => s.RaidRoleId == role.RaidRoleId) == null)
{
rolesToDelete.Add(role);
}

View file

@ -25,7 +25,7 @@ namespace Lieb.Data
.Include(r => r.SignUps)
.ThenInclude(s => s.GuildWars2Account)
.Include(r => r.SignUps)
.ThenInclude(s => s.PlannedRaidRole)
.ThenInclude(s => s.RaidRole)
.ToList();
}
@ -41,7 +41,7 @@ namespace Lieb.Data
.Include(r => r.SignUps)
.ThenInclude(s => s.GuildWars2Account)
.Include(r => r.SignUps)
.ThenInclude(s => s.PlannedRaidRole)
.ThenInclude(s => s.RaidRole)
.FirstOrDefault(r => r.RaidId == raidId);
}
@ -67,7 +67,7 @@ namespace Lieb.Data
RaidRole randomRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
foreach (RaidSignUp signUp in raid.SignUps)
{
signUp.PlannedRaidRole = randomRole;
signUp.RaidRole = randomRole;
}
context.RaidRoles.RemoveRange(raid.Roles.Where(r => !r.IsRandomSignUpRole));
}
@ -103,14 +103,14 @@ namespace Lieb.Data
{
ChangeSignUpType(raidId, liebUserId, plannedRoleId, signUpType);
}
else if (!signUps.Where(r => r.PlannedRaidRoleId == plannedRoleId).Any())
else if (!signUps.Where(r => r.RaidRoleId == plannedRoleId).Any())
{
context.RaidSignUps.Add(new RaidSignUp()
{
GuildWars2AccountId = guildWars2AccountId,
RaidId = raidId,
LiebUserId = liebUserId,
PlannedRaidRoleId = plannedRoleId,
RaidRoleId = plannedRoleId,
SignUpType = signUpType
});
await context.SaveChangesAsync();
@ -132,10 +132,10 @@ namespace Lieb.Data
//change and delete Role for Random Raids
Raid? raid = context.Raids.Include(r => r.Roles).FirstOrDefault(r => r.RaidId == raidId);
if(raid != null && raid.RaidType != RaidType.Planned && !signUp.PlannedRaidRole.IsRandomSignUpRole)
if(raid != null && raid.RaidType != RaidType.Planned && !signUp.RaidRole.IsRandomSignUpRole)
{
context.RaidRoles.Remove(signUp.PlannedRaidRole);
signUp.PlannedRaidRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
context.RaidRoles.Remove(signUp.RaidRole);
signUp.RaidRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
}
}
@ -165,18 +165,18 @@ namespace Lieb.Data
List<RaidSignUp> signUps = context.RaidSignUps.Where(x => x.RaidId == raidId && x.LiebUserId == liebUserId).ToList();
RaidSignUp? signUp = signUps.FirstOrDefault(x => x.SignUpType != SignUpType.Flex);
RaidSignUp? flexSignUp = signUps.FirstOrDefault(x => x.SignUpType == SignUpType.Flex && x.PlannedRaidRoleId == plannedRoleId);
RaidSignUp? flexSignUp = signUps.FirstOrDefault(x => x.SignUpType == SignUpType.Flex && x.RaidRoleId == plannedRoleId);
//change Flex to current role
if (flexSignUp != null && signUp != null)
{
flexSignUp.PlannedRaidRoleId = signUp.PlannedRaidRoleId;
flexSignUp.RaidRoleId = signUp.RaidRoleId;
}
//change to new role
if (signUp != null)
{
signUp.PlannedRaidRoleId = plannedRoleId;
signUp.RaidRoleId = plannedRoleId;
signUp.SignUpType = signUpType;
}
context.SaveChanges();
@ -191,7 +191,7 @@ namespace Lieb.Data
using var context = _contextFactory.CreateDbContext();
List<RaidSignUp> signUps = context.RaidSignUps.Where(s => s.PlannedRaidRoleId == plannedRoleId).ToList();
List<RaidSignUp> signUps = context.RaidSignUps.Where(s => s.RaidRoleId == plannedRoleId).ToList();
RaidRole? role = context.RaidRoles
.FirstOrDefault(r => r.RaidRoleId == plannedRoleId);
@ -237,9 +237,9 @@ namespace Lieb.Data
// new sign up is available if there are free spots and the user is not signed up or still in the random role
RaidSignUp? signUp = raid.SignUps.FirstOrDefault(s => s.LiebUserId == liebUserId);
return raid.SignUps.Where(s => s.SignUpType == SignUpType.SignedUp).Count() < role.Spots
&& (signUp == null || signUp.PlannedRaidRoleId == plannedRoleId || signUp.SignUpType == SignUpType.SignedOff);
&& (signUp == null || signUp.RaidRoleId == plannedRoleId || signUp.SignUpType == SignUpType.SignedOff);
}
return raid.SignUps.Where(s => s.LiebUserId == liebUserId && s.PlannedRaidRoleId == plannedRoleId).Any();
return raid.SignUps.Where(s => s.LiebUserId == liebUserId && s.RaidRoleId == plannedRoleId).Any();
}
}
@ -257,16 +257,16 @@ namespace Lieb.Data
return false;
}
foreach (int userId in raid.SignUps.Where(s => s.PlannedRaidRoleId == plannedRoleId && s.SignUpType == SignUpType.SignedUp).Select(s => s.LiebUserId))
foreach (int userId in raid.SignUps.Where(s => s.RaidRoleId == plannedRoleId && s.SignUpType == SignUpType.SignedUp).Select(s => s.LiebUserId))
{
foreach (RaidSignUp signUp in raid.SignUps.Where(s => s.LiebUserId == userId && s.SignUpType == SignUpType.Flex))
{
if (!checkedRoleIds.Contains(signUp.PlannedRaidRoleId)
&& await IsRoleSignUpAllowed(raid, userId, signUp.PlannedRaidRoleId, SignUpType.SignedUp, moveFlexUser, checkedRoleIds))
if (!checkedRoleIds.Contains(signUp.RaidRoleId)
&& await IsRoleSignUpAllowed(raid, userId, signUp.RaidRoleId, SignUpType.SignedUp, moveFlexUser, checkedRoleIds))
{
if (moveFlexUser)
{
ChangeSignUpType(raid.RaidId, userId, signUp.PlannedRaidRoleId, SignUpType.SignedUp);
ChangeSignUpType(raid.RaidId, userId, signUp.RaidRoleId, SignUpType.SignedUp);
}
return true;
}