added logging to raid and template changes

This commit is contained in:
Sarah Faey 2022-11-19 00:47:52 +01:00
parent 803332bc5c
commit aad07809d2
6 changed files with 16 additions and 4 deletions

View file

@ -50,7 +50,7 @@ namespace Lieb.Data
.FirstOrDefault(r => r.RaidId == raidId, new Raid());
}
public async Task AddOrEditRaid(Raid raid, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete, List<DiscordRaidMessage> messagesToDelete)
public async Task AddOrEditRaid(Raid raid, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete, List<DiscordRaidMessage> messagesToDelete, ulong changedBy)
{
if (raid != null)
{
@ -58,6 +58,8 @@ namespace Lieb.Data
if (raid.RaidId == 0)
{
context.Raids.Add(raid);
RaidLog log = RaidLog.CreateRaidLog(changedBy, raid);
await context.RaidLogs.AddAsync(log);
await context.SaveChangesAsync();
}
else
@ -78,6 +80,8 @@ namespace Lieb.Data
context.RaidRoles.RemoveRange(raid.Roles.Where(r => !r.IsRandomSignUpRole));
}
RaidLog log = RaidLog.CreateRaidLog(changedBy, raid);
await context.RaidLogs.AddAsync(log);
await context.SaveChangesAsync();
}
await _discordService.PostRaidMessage(raid.RaidId);

View file

@ -31,7 +31,7 @@ namespace Lieb.Data
.FirstOrDefault(t => t.RaidTemplateId == raidTemplateId);
}
public async Task AddOrEditTemplate(RaidTemplate template, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete, List<DiscordRaidMessage> messagesToDelete)
public async Task AddOrEditTemplate(RaidTemplate template, List<RaidRole> rolesToDelete, List<RaidReminder> remindersToDelete, List<DiscordRaidMessage> messagesToDelete, ulong changedBy)
{
if (template != null)
{
@ -39,6 +39,8 @@ namespace Lieb.Data
if (template.RaidTemplateId == 0)
{
context.RaidTemplates.Add(template);
RaidLog log = RaidLog.CreateRaidTemplateLog(changedBy, template);
await context.RaidLogs.AddAsync(log);
}
else
{
@ -46,6 +48,8 @@ namespace Lieb.Data
context.RaidRoles.RemoveRange(rolesToDelete);
context.RaidReminders.RemoveRange(remindersToDelete);
context.DiscordRaidMessages.RemoveRange(messagesToDelete);
RaidLog log = RaidLog.CreateRaidTemplateLog(changedBy, template);
await context.RaidLogs.AddAsync(log);
}
await context.SaveChangesAsync();
}

View file

@ -34,6 +34,7 @@ namespace Lieb.Models.GuildWars2.Raid
public static RaidLog CreateRaidLog(ulong userId, Raid raid)
{
raid.RaidLogs.Clear();
return new RaidLog()
{
Type = LogType.Raid,
@ -59,6 +60,7 @@ namespace Lieb.Models.GuildWars2.Raid
public static RaidLog CreateRaidTemplateLog(ulong userId, RaidTemplate template)
{
template.TemplateLogs.Clear();
return new RaidLog()
{
Type = LogType.RaidTemplate,

View file

@ -19,5 +19,7 @@ namespace Lieb.Models.GuildWars2.Raid
public int Interval { get; set; }
public int CreateDaysBefore { get; set; }
public ICollection<RaidLog> TemplateLogs { get; set; } = new HashSet<RaidLog>();
}
}

View file

@ -313,7 +313,7 @@
_raid.Reminders.Add(reminder);
}
await RaidService.AddOrEditRaid(_raid, _rolesToDelete, _remindersToDelete, _messagesToDelete);
await RaidService.AddOrEditRaid(_raid, _rolesToDelete, _remindersToDelete, _messagesToDelete, _user.Id);
NavigationManager.NavigateTo("raidoverview");
}
}

View file

@ -334,7 +334,7 @@
_template.Reminders.Add(reminder);
}
await RaidTemplateService.AddOrEditTemplate(_template, _rolesToDelete, _remindersToDelete, _messagesToDelete);
await RaidTemplateService.AddOrEditTemplate(_template, _rolesToDelete, _remindersToDelete, _messagesToDelete, _user.Id);
NavigationManager.NavigateTo("raidtemplateoverview");
}
}