random raids now can have more players

This commit is contained in:
Sarah Faey 2022-12-08 19:30:31 +01:00
parent 929ca9c0a7
commit 07eede3f9a
5 changed files with 46 additions and 6 deletions

2
.gitignore vendored
View file

@ -24,6 +24,8 @@ DiscordBot/token.txt
DiscordBot/debugtoken.txt
Lieb/discordAppSecret.txt
publish.sh
getDatabase.sh
TODO.txt
# Build results
[Dd]ebug/

View file

@ -542,11 +542,11 @@ namespace Lieb.Data
}
}
public RaidRole CreateRandomSignUpRole(RaidType raidType)
public RaidRole CreateRandomSignUpRole(RaidType raidType, int spots = 10)
{
return new RaidRole()
{
Spots = 10,
Spots = spots,
Name = "Random",
Description = raidType.ToString(),
IsRandomSignUpRole = true

View file

@ -37,8 +37,8 @@ namespace Lieb.Data
foreach(RaidTemplate template in raidTemplateService.GetTemplates())
{
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(template.TimeZone);
DateTime UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(template.StartTime, timeZone);
if(template.Interval > 0 && UTCStartTime.AddDays(-template.CreateDaysBefore).AddHours(1) < DateTime.UtcNow)
DateTime UTCEndTime = TimeZoneInfo.ConvertTimeToUtc(template.EndTime, timeZone);
if(template.Interval > 0 && UTCEndTime.AddDays(-template.CreateDaysBefore) < DateTime.UtcNow)
{
raidTemplateService.CreateRaidFromTemplate(template.RaidTemplateId).Wait();
}

View file

@ -46,6 +46,15 @@
</InputSelect>
</label>
</p>
@if(_raid.RaidType != RaidType.Planned)
{
<p>
<label>
Random Spots:
<InputNumber @bind-Value="_randomSpots"/>
</label>
</p>
}
<p>
<label>
Event Type:
@ -179,6 +188,7 @@
private string _errorMessage = string.Empty;
private int _randomSpots = 10;
private DateTimeOffset _raidDate = DateTime.Now.Date;
private DateTimeOffset _startTime;
private DateTimeOffset _endTime;
@ -216,6 +226,15 @@
if (_raid.RaidOwnerId == _user.Id
|| _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel)
{
if(_raid.RaidType != RaidType.Planned)
{
if(_raid.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
RaidRole role = _raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
_randomSpots = role != null ? role.Spots : 10;
}
}
_startTime = await TimeZoneService.GetLocalDateTime(_raid.StartTimeUTC);
_endTime = await TimeZoneService.GetLocalDateTime(_raid.EndTimeUTC);
_raidDate = _startTime.Date;
@ -281,7 +300,7 @@
{
if(!_raid.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
_raid.Roles.Add(RaidService.CreateRandomSignUpRole(_raid.RaidType));
_raid.Roles.Add(RaidService.CreateRandomSignUpRole(_raid.RaidType, _randomSpots));
}
foreach(RaidRole role in _raid.Roles.Where(r => !r.IsRandomSignUpRole))

View file

@ -47,6 +47,15 @@
</InputSelect>
</label>
</p>
@if(_template.RaidType != RaidType.Planned)
{
<p>
<label>
Random Spots:
<InputNumber @bind-Value="_randomSpots"/>
</label>
</p>
}
<p>
<label>
Event Type:
@ -201,6 +210,7 @@
private string _errorMessage = string.Empty;
private int _randomSpots = 10;
private DateTimeOffset _raidDate = DateTime.Now.Date;
private DateTimeOffset _startTime;
private DateTimeOffset _endTime;
@ -238,6 +248,15 @@
if (_template != null && (_template.RaidOwnerId == _user.Id
|| _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel))
{
if(_template.RaidType != RaidType.Planned)
{
if(_template.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
RaidRole role = _template.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
_randomSpots = role != null ? role.Spots : 10;
}
}
_startTime = _template.StartTime;
_endTime = _template.EndTime;
_raidDate = _startTime.Date;
@ -303,7 +322,7 @@
{
if(!_template.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
_template.Roles.Add(RaidService.CreateRandomSignUpRole(_template.RaidType));
_template.Roles.Add(RaidService.CreateRandomSignUpRole(_template.RaidType, _randomSpots));
}
foreach(RaidRole role in _template.Roles.Where(r => !r.IsRandomSignUpRole))