From bae69648d0ddd54805f91e53a60df7e2783c01a0 Mon Sep 17 00:00:00 2001 From: "t.ruspekhofer" Date: Wed, 23 Mar 2022 21:48:29 +0100 Subject: [PATCH] Renamed RaidRole and RaidSignUpHistory --- Lieb/Data/DbInitializer.cs | 24 ++++----- Lieb/Data/LiebContext.cs | 8 +-- Lieb/Data/RaidRandomizerService.cs | 16 +++--- Lieb/Data/RaidService.cs | 31 +++++------ Lieb/Data/RaidTemplateService.cs | 6 +-- .../GuildWars2/Raid/DiscordRaidMessage.cs | 17 ++++++ Lieb/Models/GuildWars2/Raid/Raid.cs | 38 +------------ Lieb/Models/GuildWars2/Raid/RaidBase.cs | 53 +++++++++++++++++-- .../Raid/{PlannedRaidRole.cs => RaidRole.cs} | 4 +- Lieb/Models/GuildWars2/Raid/RaidSignUp.cs | 2 +- ...{SignUpHistory.cs => RaidSignUpHistory.cs} | 4 +- Lieb/Pages/Raids/RaidEdit.razor | 28 +++++----- Lieb/Pages/Raids/RaidRoles.razor | 20 +++---- Lieb/Pages/Raids/RaidTemplateDetails.razor | 2 +- Lieb/Pages/Raids/RaidTemplateEdit.razor | 12 ++--- 15 files changed, 144 insertions(+), 121 deletions(-) create mode 100644 Lieb/Models/GuildWars2/Raid/DiscordRaidMessage.cs rename Lieb/Models/GuildWars2/Raid/{PlannedRaidRole.cs => RaidRole.cs} (86%) rename Lieb/Models/GuildWars2/Raid/{SignUpHistory.cs => RaidSignUpHistory.cs} (76%) diff --git a/Lieb/Data/DbInitializer.cs b/Lieb/Data/DbInitializer.cs index f6bd481..c0fedf1 100644 --- a/Lieb/Data/DbInitializer.cs +++ b/Lieb/Data/DbInitializer.cs @@ -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); diff --git a/Lieb/Data/LiebContext.cs b/Lieb/Data/LiebContext.cs index 8ed35e9..47954ff 100644 --- a/Lieb/Data/LiebContext.cs +++ b/Lieb/Data/LiebContext.cs @@ -19,12 +19,12 @@ namespace Lieb.Data public DbSet GuildWars2Accounts { get; set; } public DbSet Equipped { get; set; } public DbSet GuildWars2Builds { get; set; } - public DbSet PlannedRaidRoles { get; set; } + public DbSet RaidRoles { get; set; } public DbSet Raids { get; set; } public DbSet RaidTemplates { get; set; } public DbSet RaidReminders { get; set; } public DbSet RaidSignUps { get; set; } - public DbSet SignUpHistories { get; set; } + public DbSet RaidSignUpHistories { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -35,12 +35,12 @@ namespace Lieb.Data modelBuilder.Entity().ToTable("GuildWars2Account"); modelBuilder.Entity().ToTable("Equipped"); modelBuilder.Entity().ToTable("GuildWars2Build"); - modelBuilder.Entity().ToTable("PlannedRaidRole"); + modelBuilder.Entity().ToTable("RaidRole"); modelBuilder.Entity().ToTable("Raid"); modelBuilder.Entity().ToTable("RaidTemplate"); modelBuilder.Entity().ToTable("RaidReminder"); modelBuilder.Entity().ToTable("RaidSignUp"); - modelBuilder.Entity().ToTable("SignUpHistory"); + modelBuilder.Entity().ToTable("RaidSignUpHistory"); } } } diff --git a/Lieb/Data/RaidRandomizerService.cs b/Lieb/Data/RaidRandomizerService.cs index 08697b2..51300a4 100644 --- a/Lieb/Data/RaidRandomizerService.cs +++ b/Lieb/Data/RaidRandomizerService.cs @@ -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 rolesToDelete = new List(); - foreach (PlannedRaidRole role in raid.Roles) + List rolesToDelete = new List(); + 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); } } diff --git a/Lieb/Data/RaidService.cs b/Lieb/Data/RaidService.cs index ccdf98b..a4dc798 100644 --- a/Lieb/Data/RaidService.cs +++ b/Lieb/Data/RaidService.cs @@ -45,7 +45,7 @@ namespace Lieb.Data .FirstOrDefault(r => r.RaidId == raidId); } - public async Task AddOrEditRaid(Raid raid, List rolesToDelete, List remindersToDelete) + public async Task AddOrEditRaid(Raid raid, List rolesToDelete, List 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 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) { diff --git a/Lieb/Data/RaidTemplateService.cs b/Lieb/Data/RaidTemplateService.cs index 455d1fb..0f020e3 100644 --- a/Lieb/Data/RaidTemplateService.cs +++ b/Lieb/Data/RaidTemplateService.cs @@ -31,7 +31,7 @@ namespace Lieb.Data .FirstOrDefault(t => t.RaidTemplateId == raidTemplateId); } - public async Task AddOrEditTemplate(RaidTemplate template, List rolesToDelete, List remindersToDelete) + public async Task AddOrEditTemplate(RaidTemplate template, List rolesToDelete, List 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); diff --git a/Lieb/Models/GuildWars2/Raid/DiscordRaidMessage.cs b/Lieb/Models/GuildWars2/Raid/DiscordRaidMessage.cs new file mode 100644 index 0000000..6d229e2 --- /dev/null +++ b/Lieb/Models/GuildWars2/Raid/DiscordRaidMessage.cs @@ -0,0 +1,17 @@ +namespace Lieb.Models.GuildWars2.Raid +{ + public class DiscordRaidMessage + { + public int DiscordRaidMessageId { get; set; } + + public int RaidId { get; set; } + + public Raid Raid { get; set; } + + public ulong DiscordMessageId { get; set; } + + public ulong DiscordChannelId { get; set; } + + public ulong DiscordGuildId { get; set; } + } +} diff --git a/Lieb/Models/GuildWars2/Raid/Raid.cs b/Lieb/Models/GuildWars2/Raid/Raid.cs index 511086b..7f8c310 100644 --- a/Lieb/Models/GuildWars2/Raid/Raid.cs +++ b/Lieb/Models/GuildWars2/Raid/Raid.cs @@ -24,46 +24,12 @@ namespace Lieb.Models.GuildWars2.Raid public ICollection SignUps { get; set; } = new HashSet(); - public ICollection SignUpHistory { get; set; } = new HashSet(); - - //used to edit the Discord message - public ulong DiscordMessageId { get; set; } + public ICollection SignUpHistory { get; set; } = new HashSet(); public Raid() { } - public Raid(RaidTemplate template) + public Raid(RaidTemplate template) : base(template) { - this.Title = template.Title; - this.Description = template.Description; - this.Organizer = template.Organizer; - this.Guild = template.Guild; - this.VoiceChat = template.VoiceChat; - this.RaidType = template.RaidType; - this.RequiredRole = template.RequiredRole; - this.DiscordChannelId = template.DiscordChannelId; - this.DiscordGuildId = template.DiscordGuildId; - - foreach(PlannedRaidRole role in template.Roles) - { - this.Roles.Add(new PlannedRaidRole() - { - Description = role.Description, - Name = role.Name, - Spots = role.Spots - }); - } - foreach(RaidReminder reminder in template.Reminders) - { - this.Reminders.Add(new RaidReminder() - { - ChannelId = reminder.ChannelId, - HoursBeforeRaid = reminder.HoursBeforeRaid, - Message = reminder.Message, - Sent = reminder.Sent, - Type = reminder.Type - }); - } - TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(template.TimeZone); StartTimeUTC = TimeZoneInfo.ConvertTimeToUtc(template.StartTime, timeZone); EndTimeUTC = TimeZoneInfo.ConvertTimeToUtc(template.EndTime, timeZone); diff --git a/Lieb/Models/GuildWars2/Raid/RaidBase.cs b/Lieb/Models/GuildWars2/Raid/RaidBase.cs index 73bf16a..2e912b7 100644 --- a/Lieb/Models/GuildWars2/Raid/RaidBase.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidBase.cs @@ -2,7 +2,7 @@ namespace Lieb.Models.GuildWars2.Raid { - public class RaidBase + public abstract class RaidBase { [Required] [StringLength(100, ErrorMessage = "Title too long (100 character limit).")] @@ -34,13 +34,56 @@ namespace Lieb.Models.GuildWars2.Raid public int RaidOwnerId { get; set; } //role name, number of spots - public ICollection Roles { get; set; } = new HashSet(); + public ICollection Roles { get; set; } = new HashSet(); public ICollection Reminders { get; set; } = new List(); - //used to edit the Discord message - public ulong DiscordChannelId { get; set; } + public ICollection DiscordRaidMessages { get; set; } = new HashSet(); - public ulong DiscordGuildId { get; set; } + public RaidBase() { } + + public RaidBase(RaidBase template) + { + this.Title = template.Title; + this.Description = template.Description; + this.Organizer = template.Organizer; + this.Guild = template.Guild; + this.VoiceChat = template.VoiceChat; + this.RaidType = template.RaidType; + this.RequiredRole = template.RequiredRole; + this.MoveFlexUsers = template.MoveFlexUsers; + this.RaidOwnerId = template.RaidOwnerId; + + foreach (RaidRole role in template.Roles) + { + this.Roles.Add(new RaidRole() + { + Description = role.Description, + Name = role.Name, + Spots = role.Spots + }); + } + foreach (RaidReminder reminder in template.Reminders) + { + this.Reminders.Add(new RaidReminder() + { + ChannelId = reminder.ChannelId, + HoursBeforeRaid = reminder.HoursBeforeRaid, + Message = reminder.Message, + Sent = reminder.Sent, + Type = reminder.Type + }); + } + foreach (DiscordRaidMessage message in template.DiscordRaidMessages) + { + this.DiscordRaidMessages.Add(new DiscordRaidMessage() + { + RaidId = message.RaidId, + DiscordMessageId = message.DiscordMessageId, + DiscordChannelId = message.DiscordChannelId, + DiscordGuildId = message.DiscordGuildId + }); + } + } } } diff --git a/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs b/Lieb/Models/GuildWars2/Raid/RaidRole.cs similarity index 86% rename from Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs rename to Lieb/Models/GuildWars2/Raid/RaidRole.cs index 68cdc42..085e410 100644 --- a/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidRole.cs @@ -2,9 +2,9 @@ namespace Lieb.Models.GuildWars2.Raid { - public class PlannedRaidRole + public class RaidRole { - public int PlannedRaidRoleId { get; set; } + public int RaidRoleId { get; set; } public int Spots { get; set; } [Required] diff --git a/Lieb/Models/GuildWars2/Raid/RaidSignUp.cs b/Lieb/Models/GuildWars2/Raid/RaidSignUp.cs index b67901c..45543e8 100644 --- a/Lieb/Models/GuildWars2/Raid/RaidSignUp.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidSignUp.cs @@ -23,6 +23,6 @@ public Raid Raid { get; set; } public LiebUser LiebUser { get; set; } public GuildWars2Account GuildWars2Account { get; set; } - public PlannedRaidRole PlannedRaidRole { get; set; } + public RaidRole PlannedRaidRole { get; set; } } } diff --git a/Lieb/Models/GuildWars2/Raid/SignUpHistory.cs b/Lieb/Models/GuildWars2/Raid/RaidSignUpHistory.cs similarity index 76% rename from Lieb/Models/GuildWars2/Raid/SignUpHistory.cs rename to Lieb/Models/GuildWars2/Raid/RaidSignUpHistory.cs index 1b848d4..1668f50 100644 --- a/Lieb/Models/GuildWars2/Raid/SignUpHistory.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidSignUpHistory.cs @@ -1,8 +1,8 @@ namespace Lieb.Models.GuildWars2.Raid { - public class SignUpHistory + public class RaidSignUpHistory { - public int SignUpHistoryId { get; set; } + public int RaidSignUpHistoryId { get; set; } public string UserName { get; set; } = string.Empty; diff --git a/Lieb/Pages/Raids/RaidEdit.razor b/Lieb/Pages/Raids/RaidEdit.razor index 612f4c2..f6cea46 100644 --- a/Lieb/Pages/Raids/RaidEdit.razor +++ b/Lieb/Pages/Raids/RaidEdit.razor @@ -126,9 +126,9 @@ Role name Description - @foreach( PlannedRaidRole role in _raid.Roles) + @foreach( RaidRole role in _raid.Roles) { - bool disableEdit = _raid.SignUps.Where(s => s.PlannedRaidRoleId == role.PlannedRaidRoleId).Any(); + bool disableEdit = _raid.SignUps.Where(s => s.PlannedRaidRoleId == role.RaidRoleId).Any(); @@ -167,7 +167,7 @@ private DateTimeOffset _freeForAllDate = DateTime.Now.Date; private DateTimeOffset _freeForAllTime; - private List _rolesToDelete = new List(); + private List _rolesToDelete = new List(); @@ -210,13 +210,13 @@ async Task AddRoleClicked() { - _raid.Roles.Add(new PlannedRaidRole()); + _raid.Roles.Add(new RaidRole()); } - async Task DeleteRoleClicked(PlannedRaidRole role) + async Task DeleteRoleClicked(RaidRole role) { - if(role.PlannedRaidRoleId != 0) + if(role.RaidRoleId != 0) { _rolesToDelete.Add(role); } @@ -237,17 +237,21 @@ { if(_raid.RaidType != RaidType.Planned) { - PlannedRaidRole? role = _raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole); - int randomRoleId = role != null ? role.PlannedRaidRoleId : 0; - _raid.Roles.Clear(); - _raid.Roles.Add(new PlannedRaidRole() + if(!_raid.Roles.Where(r => r.IsRandomSignUpRole).Any()) + { + _raid.Roles.Add(new RaidRole() { Spots = 10, Name = "Random", Description = _raid.RaidType.ToString(), - IsRandomSignUpRole = true, - PlannedRaidRoleId = randomRoleId + IsRandomSignUpRole = true }); + } + + foreach(RaidRole role in _raid.Roles.Where(r => !r.IsRandomSignUpRole)) + { + _rolesToDelete.Add(role); + } } if(_raid.Roles.Count == 0) diff --git a/Lieb/Pages/Raids/RaidRoles.razor b/Lieb/Pages/Raids/RaidRoles.razor index b3abc35..5e488b6 100644 --- a/Lieb/Pages/Raids/RaidRoles.razor +++ b/Lieb/Pages/Raids/RaidRoles.razor @@ -33,7 +33,7 @@ @{ bool isSignedUp = _raid.SignUps.Where(s => s.LiebUserId == _liebUserId && s.SignUpType != SignUpType.SignedOff).Any(); } - @foreach (ExpandableRole role in _expandableRoles.OrderBy(r => r.Role.PlannedRaidRoleId)) + @foreach (ExpandableRole role in _expandableRoles.OrderBy(r => r.Role.RaidRoleId)) { @{ @@ -46,7 +46,7 @@ { } - @role.Role.Name (@_raid.SignUps.Where(s => s.PlannedRaidRoleId == role.Role.PlannedRaidRoleId && s.SignUpType == SignUpType.SignedUp).Count() / @role.Role.Spots) + @role.Role.Name (@_raid.SignUps.Where(s => s.PlannedRaidRoleId == role.Role.RaidRoleId && s.SignUpType == SignUpType.SignedUp).Count() / @role.Role.Spots) @if (@role.IsRowExpanded) {
@role.Role.Description @@ -56,7 +56,7 @@ @{List signUpTypes =new List(){SignUpType.SignedUp, SignUpType.Maybe, SignUpType.Backup};} - + @if (flexExists) @@ -64,13 +64,13 @@ List flexSignUpTypes =new List(){SignUpType.Flex}; - + } @if(_liebUserId > 0 && _isRaidSignUpAllowed) { - bool notIsRoleSignUpAllowed = !RaidService.IsRoleSignUpAllowed(_raid.RaidId, _liebUserId, role.Role.PlannedRaidRoleId, SignUpType.SignedUp, false); + bool notIsRoleSignUpAllowed = !RaidService.IsRoleSignUpAllowed(_raid.RaidId, _liebUserId, role.Role.RaidRoleId, SignUpType.SignedUp, false); bool notIsBackupAllowed = _raid.RaidType != RaidType.Planned && notIsRoleSignUpAllowed; @@ -109,7 +109,7 @@ private class ExpandableRole { - public PlannedRaidRole Role; + public RaidRole Role; public bool IsRowExpanded = false; } @@ -128,7 +128,7 @@ _liebUserId = _user.LiebUserId; } _expandableRoles = new List(); - foreach(PlannedRaidRole role in _raid.Roles) + foreach(RaidRole role in _raid.Roles) { _expandableRoles.Add(new ExpandableRole() { @@ -137,15 +137,15 @@ } } - async Task SignUpClicked(PlannedRaidRole role, SignUpType signUpType) + async Task SignUpClicked(RaidRole role, SignUpType signUpType) { if(_raid.SignUps.Where(s => s.LiebUserId == _liebUserId).Any() && signUpType != SignUpType.Flex) { - RaidService.ChangeSignUpType(_raid.RaidId, _liebUserId, role.PlannedRaidRoleId, signUpType); + RaidService.ChangeSignUpType(_raid.RaidId, _liebUserId, role.RaidRoleId, signUpType); } else { - await RaidService.SignUp(_raid.RaidId, _liebUserId, _usableAccounts.FirstOrDefault().GuildWars2AccountId, role.PlannedRaidRoleId, signUpType); + await RaidService.SignUp(_raid.RaidId, _liebUserId, _usableAccounts.FirstOrDefault().GuildWars2AccountId, role.RaidRoleId, signUpType); } _Parent.HasChanged(); } diff --git a/Lieb/Pages/Raids/RaidTemplateDetails.razor b/Lieb/Pages/Raids/RaidTemplateDetails.razor index 8ff21e6..32bfefd 100644 --- a/Lieb/Pages/Raids/RaidTemplateDetails.razor +++ b/Lieb/Pages/Raids/RaidTemplateDetails.razor @@ -48,7 +48,7 @@
- @foreach (var role in _template.Roles.OrderBy(r => r.PlannedRaidRoleId)) + @foreach (var role in _template.Roles.OrderBy(r => r.RaidRoleId)) { diff --git a/Lieb/Pages/Raids/RaidTemplateEdit.razor b/Lieb/Pages/Raids/RaidTemplateEdit.razor index d83d591..39b72b8 100644 --- a/Lieb/Pages/Raids/RaidTemplateEdit.razor +++ b/Lieb/Pages/Raids/RaidTemplateEdit.razor @@ -151,7 +151,7 @@ - @foreach( PlannedRaidRole role in _template.Roles) + @foreach( RaidRole role in _template.Roles) { @@ -190,7 +190,7 @@ private DateTimeOffset _freeForAllTime; private string _userTimeZone = string.Empty; - private List _rolesToDelete = new List(); + private List _rolesToDelete = new List(); protected override async Task OnInitializedAsync() @@ -233,13 +233,13 @@ async Task AddRoleClicked() { - _template.Roles.Add(new PlannedRaidRole()); + _template.Roles.Add(new RaidRole()); } - async Task DeleteRoleClicked(PlannedRaidRole role) + async Task DeleteRoleClicked(RaidRole role) { - if(role.PlannedRaidRoleId != 0) + if(role.RaidRoleId != 0) { _rolesToDelete.Add(role); } @@ -261,7 +261,7 @@ if(_template.RaidType != RaidType.Planned) { _template.Roles.Clear(); - _template.Roles.Add(new PlannedRaidRole() + _template.Roles.Add(new RaidRole() { Spots = 10, Name = "Random",
Role name Description