Renamed RaidRole and RaidSignUpHistory

This commit is contained in:
t.ruspekhofer 2022-03-23 21:48:29 +01:00
parent 2bf630f3a1
commit bae69648d0
15 changed files with 144 additions and 121 deletions

View file

@ -77,38 +77,38 @@ namespace Lieb.Data
context.RoleAssignments.AddRange(assignments);
context.SaveChanges();
#if DEBUG
PlannedRaidRole ele = new PlannedRaidRole()
RaidRole ele = new RaidRole()
{
Description = "Beste",
Name = "Heal Ele",
Spots = 2
};
PlannedRaidRole scourge = new PlannedRaidRole()
RaidRole scourge = new RaidRole()
{
Description = "WupWup",
Name = "Scourge",
Spots = 8
};
PlannedRaidRole randomRole = new PlannedRaidRole()
RaidRole randomRole = new RaidRole()
{
Spots = 10,
Name = "Random",
Description = RaidType.RandomWithBoons.ToString(),
IsRandomSignUpRole = true
};
PlannedRaidRole flexTest1 = new PlannedRaidRole()
RaidRole flexTest1 = new RaidRole()
{
Description = "flexTest1",
Name = "flexTest1",
Spots = 1
};
PlannedRaidRole flexTest2 = new PlannedRaidRole()
RaidRole flexTest2 = new RaidRole()
{
Description = "flexTest2",
Name = "flexTest2",
Spots = 1
};
PlannedRaidRole flexTest3 = new PlannedRaidRole()
RaidRole flexTest3 = new RaidRole()
{
Description = "flexTest3",
Name = "flexTest3",
@ -146,7 +146,7 @@ namespace Lieb.Data
Interval = 7,
CreateDaysBefore = 7,
TimeZone = "Europe/Vienna",
Roles = new[] { new PlannedRaidRole(){
Roles = new[] { new RaidRole(){
Description = "WupWup",
Name = "Ups",
Spots = 10
@ -158,11 +158,11 @@ namespace Lieb.Data
var signUps = new RaidSignUp[]
{
new RaidSignUp{GuildWars2AccountId = linaith.GuildWars2AccountId, LiebUserId = users[0].LiebUserId, PlannedRaidRoleId = ele.PlannedRaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, PlannedRaidRoleId = flexTest1.PlannedRaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, PlannedRaidRoleId = flexTest2.PlannedRaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.SignedUp },
new RaidSignUp{GuildWars2AccountId = hierpiepts.GuildWars2AccountId, LiebUserId = users[1].LiebUserId, PlannedRaidRoleId = flexTest2.PlannedRaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex },
new RaidSignUp{GuildWars2AccountId = bloodseeker.GuildWars2AccountId, LiebUserId = users[2].LiebUserId, PlannedRaidRoleId = flexTest3.PlannedRaidRoleId, RaidId = raid.RaidId, SignUpType = SignUpType.Flex }
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 }
};
context.RaidSignUps.AddRange(signUps);

View file

@ -19,12 +19,12 @@ namespace Lieb.Data
public DbSet<GuildWars2Account> GuildWars2Accounts { get; set; }
public DbSet<Equipped> Equipped { get; set; }
public DbSet<GuildWars2Build> GuildWars2Builds { get; set; }
public DbSet<PlannedRaidRole> PlannedRaidRoles { get; set; }
public DbSet<RaidRole> RaidRoles { get; set; }
public DbSet<Raid> Raids { get; set; }
public DbSet<RaidTemplate> RaidTemplates { get; set; }
public DbSet<RaidReminder> RaidReminders { get; set; }
public DbSet<RaidSignUp> RaidSignUps { get; set; }
public DbSet<SignUpHistory> SignUpHistories { get; set; }
public DbSet<RaidSignUpHistory> RaidSignUpHistories { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
@ -35,12 +35,12 @@ namespace Lieb.Data
modelBuilder.Entity<GuildWars2Account>().ToTable("GuildWars2Account");
modelBuilder.Entity<Equipped>().ToTable("Equipped");
modelBuilder.Entity<GuildWars2Build>().ToTable("GuildWars2Build");
modelBuilder.Entity<PlannedRaidRole>().ToTable("PlannedRaidRole");
modelBuilder.Entity<RaidRole>().ToTable("RaidRole");
modelBuilder.Entity<Raid>().ToTable("Raid");
modelBuilder.Entity<RaidTemplate>().ToTable("RaidTemplate");
modelBuilder.Entity<RaidReminder>().ToTable("RaidReminder");
modelBuilder.Entity<RaidSignUp>().ToTable("RaidSignUp");
modelBuilder.Entity<SignUpHistory>().ToTable("SignUpHistory");
modelBuilder.Entity<RaidSignUpHistory>().ToTable("RaidSignUpHistory");
}
}
}

View file

@ -60,7 +60,7 @@ namespace Lieb.Data
{
possibleClasses.Add(build.GuildWars2Build.Class);
}
PlannedRaidRole role = new PlannedRaidRole();
RaidRole role = new RaidRole();
role.Spots = 0;
if (possibleClasses.Count > 0)
{
@ -84,7 +84,7 @@ namespace Lieb.Data
{
possibleEliteSpecs.Add(build.GuildWars2Build.EliteSpecialization);
}
PlannedRaidRole role = new PlannedRaidRole();
RaidRole role = new RaidRole();
role.Spots = 0;
if (possibleEliteSpecs.Count > 0)
{
@ -112,7 +112,7 @@ namespace Lieb.Data
BalanceRoles(raid, signedUpUsers);
foreach(var userBuild in signedUpUsers)
{
PlannedRaidRole role = new PlannedRaidRole();
RaidRole role = new RaidRole();
role.Spots = 0;
role.Name = userBuild.Value.BuildName;
raid.Roles.Add(role);
@ -326,19 +326,19 @@ namespace Lieb.Data
private void CleanUpRoles(Raid raid, LiebContext context)
{
List<PlannedRaidRole> rolesToDelete = new List<PlannedRaidRole>();
foreach (PlannedRaidRole role in raid.Roles)
List<RaidRole> rolesToDelete = new List<RaidRole>();
foreach (RaidRole role in raid.Roles)
{
if (!role.IsRandomSignUpRole && raid.SignUps.FirstOrDefault(s => s.PlannedRaidRoleId == role.PlannedRaidRoleId) == null)
if (!role.IsRandomSignUpRole && raid.SignUps.FirstOrDefault(s => s.PlannedRaidRoleId == role.RaidRoleId) == null)
{
rolesToDelete.Add(role);
}
}
foreach (PlannedRaidRole role in rolesToDelete)
foreach (RaidRole role in rolesToDelete)
{
raid.Roles.Remove(role);
}
context.PlannedRaidRoles.RemoveRange(rolesToDelete);
context.RaidRoles.RemoveRange(rolesToDelete);
}
}

View file

@ -45,7 +45,7 @@ namespace Lieb.Data
.FirstOrDefault(r => r.RaidId == raidId);
}
public async Task AddOrEditRaid(Raid raid, List<PlannedRaidRole> rolesToDelete, List<RaidReminder> remindersToDelete)
public async Task AddOrEditRaid(Raid raid, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete)
{
if (raid != null)
{
@ -58,25 +58,18 @@ namespace Lieb.Data
else
{
context.Update(raid);
context.PlannedRaidRoles.RemoveRange(rolesToDelete);
context.RaidRoles.RemoveRange(rolesToDelete);
context.RaidReminders.RemoveRange(remindersToDelete);
//move users back to "Random" role
if (raid.RaidType != RaidType.Planned)
{
int randomRoleId = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole).PlannedRaidRoleId;
RaidRole randomRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
foreach (RaidSignUp signUp in raid.SignUps)
{
if (randomRoleId == 0)
{
signUp.PlannedRaidRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
}
else
{
signUp.PlannedRaidRoleId = randomRoleId;
}
signUp.PlannedRaidRole = randomRole;
}
context.PlannedRaidRoles.RemoveRange(raid.Roles.Where(r => !r.IsRandomSignUpRole));
context.RaidRoles.RemoveRange(raid.Roles.Where(r => !r.IsRandomSignUpRole));
}
await context.SaveChangesAsync();
@ -89,8 +82,8 @@ namespace Lieb.Data
using var context = _contextFactory.CreateDbContext();
Raid raid = GetRaid(raidId);
context.RaidSignUps.RemoveRange(raid.SignUps);
context.PlannedRaidRoles.RemoveRange(raid.Roles);
context.SignUpHistories.RemoveRange(raid.SignUpHistory);
context.RaidRoles.RemoveRange(raid.Roles);
context.RaidSignUpHistories.RemoveRange(raid.SignUpHistory);
context.RaidReminders.RemoveRange(raid.Reminders);
await context.SaveChangesAsync();
context.Raids.Remove(raid);
@ -141,7 +134,7 @@ namespace Lieb.Data
Raid? raid = context.Raids.Include(r => r.Roles).FirstOrDefault(r => r.RaidId == raidId);
if(raid != null && raid.RaidType != RaidType.Planned && !signUp.PlannedRaidRole.IsRandomSignUpRole)
{
context.PlannedRaidRoles.Remove(signUp.PlannedRaidRole);
context.RaidRoles.Remove(signUp.PlannedRaidRole);
signUp.PlannedRaidRole = raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
}
}
@ -200,8 +193,8 @@ namespace Lieb.Data
List<RaidSignUp> signUps = context.RaidSignUps.Where(s => s.PlannedRaidRoleId == plannedRoleId).ToList();
PlannedRaidRole? role = context.PlannedRaidRoles
.FirstOrDefault(r => r.PlannedRaidRoleId == plannedRoleId);
RaidRole? role = context.RaidRoles
.FirstOrDefault(r => r.RaidRoleId == plannedRoleId);
if (role == null)
return false;
@ -235,9 +228,9 @@ namespace Lieb.Data
}
else
{
PlannedRaidRole? role = context.PlannedRaidRoles
RaidRole? role = context.RaidRoles
.AsNoTracking()
.FirstOrDefault(r => r.PlannedRaidRoleId == plannedRoleId);
.FirstOrDefault(r => r.RaidRoleId == plannedRoleId);
if(role == null) return false;
if (role.IsRandomSignUpRole)
{

View file

@ -31,7 +31,7 @@ namespace Lieb.Data
.FirstOrDefault(t => t.RaidTemplateId == raidTemplateId);
}
public async Task AddOrEditTemplate(RaidTemplate template, List<PlannedRaidRole> rolesToDelete, List<RaidReminder> remindersToDelete)
public async Task AddOrEditTemplate(RaidTemplate template, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete)
{
if (template != null)
{
@ -43,7 +43,7 @@ namespace Lieb.Data
else
{
context.Update(template);
context.PlannedRaidRoles.RemoveRange(rolesToDelete);
context.RaidRoles.RemoveRange(rolesToDelete);
context.RaidReminders.RemoveRange(remindersToDelete);
}
await context.SaveChangesAsync();
@ -54,7 +54,7 @@ namespace Lieb.Data
{
using var context = _contextFactory.CreateDbContext();
RaidTemplate template = GetTemplate(raidTemplateId);
context.PlannedRaidRoles.RemoveRange(template.Roles);
context.RaidRoles.RemoveRange(template.Roles);
context.RaidReminders.RemoveRange(template.Reminders);
await context.SaveChangesAsync();
context.RaidTemplates.Remove(template);