Renamed RaidRole and RaidSignUpHistory
This commit is contained in:
parent
2bf630f3a1
commit
bae69648d0
15 changed files with 144 additions and 121 deletions
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue