From 83f9b2d0b82a67f11a9e64e50959f1fa3ca30aa5 Mon Sep 17 00:00:00 2001 From: Sarah Faey Date: Thu, 8 Dec 2022 22:01:54 +0100 Subject: [PATCH] added copy template function --- Lieb/Models/GuildWars2/Raid/Raid.cs | 2 +- Lieb/Models/GuildWars2/Raid/RaidBase.cs | 10 +++++++-- Lieb/Models/GuildWars2/Raid/RaidTemplate.cs | 12 +++++++++++ .../Raids/RaidEdit/RaidTemplateEdit.razor | 21 ++++++++++++++++++- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/Lieb/Models/GuildWars2/Raid/Raid.cs b/Lieb/Models/GuildWars2/Raid/Raid.cs index dd99b83..de8eed1 100644 --- a/Lieb/Models/GuildWars2/Raid/Raid.cs +++ b/Lieb/Models/GuildWars2/Raid/Raid.cs @@ -18,7 +18,7 @@ namespace Lieb.Models.GuildWars2.Raid public Raid() { } - public Raid(RaidTemplate template) : base(template, template.TimeZone) + public Raid(RaidTemplate template) : base(template, template.TimeZone, true) { TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(template.TimeZone); StartTimeUTC = TimeZoneInfo.ConvertTimeToUtc(template.StartTime, timeZone); diff --git a/Lieb/Models/GuildWars2/Raid/RaidBase.cs b/Lieb/Models/GuildWars2/Raid/RaidBase.cs index 8ff9a91..38d7f4b 100644 --- a/Lieb/Models/GuildWars2/Raid/RaidBase.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidBase.cs @@ -61,7 +61,7 @@ namespace Lieb.Models.GuildWars2.Raid public RaidBase() { } - public RaidBase(RaidBase template, string timeZoneString) + public RaidBase(RaidBase template, string timeZoneString, bool convertTimeForRaid) { this.Title = template.Title; this.Description = template.Description; @@ -88,11 +88,17 @@ namespace Lieb.Models.GuildWars2.Raid TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneString); foreach (RaidReminder reminder in template.Reminders) { + DateTimeOffset reminderTime = reminder.ReminderTimeUTC; + if(convertTimeForRaid) + { + reminderTime = TimeZoneInfo.ConvertTimeToUtc(reminder.ReminderTimeUTC.DateTime, timeZone); + } + this.Reminders.Add(new RaidReminder() { DiscordServerId = reminder.DiscordServerId, DiscordChannelId = reminder.DiscordChannelId, - ReminderTimeUTC = TimeZoneInfo.ConvertTimeToUtc(reminder.ReminderTimeUTC.DateTime, timeZone), + ReminderTimeUTC = reminderTime, Message = reminder.Message, Sent = false, Type = reminder.Type, diff --git a/Lieb/Models/GuildWars2/Raid/RaidTemplate.cs b/Lieb/Models/GuildWars2/Raid/RaidTemplate.cs index bbf8456..cd5862a 100644 --- a/Lieb/Models/GuildWars2/Raid/RaidTemplate.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidTemplate.cs @@ -19,5 +19,17 @@ namespace Lieb.Models.GuildWars2.Raid public int Interval { get; set; } public int CreateDaysBefore { get; set; } + + public RaidTemplate() { } + + public RaidTemplate(RaidTemplate template) : base(template, template.TimeZone, false) + { + StartTime = template.StartTime; + EndTime = template.EndTime; + FreeForAllTime = template.FreeForAllTime; + TimeZone = template.TimeZone; + Interval = template.Interval; + CreateDaysBefore = template.CreateDaysBefore; + } } } diff --git a/Lieb/Pages/Raids/RaidEdit/RaidTemplateEdit.razor b/Lieb/Pages/Raids/RaidEdit/RaidTemplateEdit.razor index ad51dfe..89a8990 100644 --- a/Lieb/Pages/Raids/RaidEdit/RaidTemplateEdit.razor +++ b/Lieb/Pages/Raids/RaidEdit/RaidTemplateEdit.razor @@ -1,5 +1,6 @@ @page "/raidtemplateedit" @page "/raidtemplateedit/{raidId}" +@page "/raidtemplateedit/{raidId}/{editType}" @using Lieb.Data @using Lieb.Models @using Lieb.Models.GuildWars2.Raid @@ -39,7 +40,7 @@