started work on getting the restart functionality in the gamelogserver

fix bug with unbanned players still showing as banned via lock icon
move player based stuff into client class
finally renamed Player to EFClient via partial class
don't try to run this build because it's in between stages
This commit is contained in:
RaidMax
2018-11-05 21:01:29 -06:00
parent d9d548ea18
commit ed83c4c011
65 changed files with 864 additions and 743 deletions

View File

@ -10,6 +10,7 @@ using System.Linq.Expressions;
using SharedLibraryCore.Objects;
using Microsoft.EntityFrameworkCore;
using SharedLibraryCore.Dtos;
using static SharedLibraryCore.Database.Models.EFClient;
namespace SharedLibraryCore.Services
{
@ -60,8 +61,8 @@ namespace SharedLibraryCore.Services
Level = hasExistingAlias ?
(await context.Clients.Where(c => c.AliasLinkId == existingAlias.LinkId)
.OrderByDescending(c => c.Level)
.FirstOrDefaultAsync())?.Level ?? Player.Permission.User :
Player.Permission.User,
.FirstOrDefaultAsync())?.Level ?? Permission.User :
Permission.User,
FirstConnection = DateTime.UtcNow,
Connections = 1,
LastConnection = DateTime.UtcNow,
@ -228,7 +229,7 @@ namespace SharedLibraryCore.Services
{
using (var context = new DatabaseContext())
return await context.Clients
.Where(c => c.Level == Player.Permission.Owner)
.Where(c => c.Level == Permission.Owner)
.ToListAsync();
}
@ -237,7 +238,7 @@ namespace SharedLibraryCore.Services
using (var context = new DatabaseContext(disableTracking: true))
{
var iqClients = from client in context.Clients
where client.Level >= Player.Permission.Trusted
where client.Level >= Permission.Trusted
where client.Active
select new ClientInfo()
{

View File

@ -8,6 +8,7 @@ using SharedLibraryCore.Database.Models;
using SharedLibraryCore.Dtos;
using Microsoft.EntityFrameworkCore;
using SharedLibraryCore.Objects;
using static SharedLibraryCore.Database.Models.EFClient;
namespace SharedLibraryCore.Services
{
@ -35,7 +36,7 @@ namespace SharedLibraryCore.Services
{
await context.Clients
.Where(c => c.AliasLinkId == addedEntity.LinkId)
.ForEachAsync(c => c.Level = Objects.Player.Permission.Banned);
.ForEachAsync(c => c.Level = Permission.Banned);
}
// make flags propogate to all aliases
@ -43,7 +44,7 @@ namespace SharedLibraryCore.Services
{
await context.Clients
.Where(c => c.AliasLinkId == addedEntity.LinkId)
.ForEachAsync(c => c.Level = Objects.Player.Permission.Flagged);
.ForEachAsync(c => c.Level = Permission.Flagged);
}
context.Penalties.Add(addedEntity);
@ -221,10 +222,12 @@ namespace SharedLibraryCore.Services
var iqPenalties = context.Penalties
.Where(p => p.LinkId == linkId ||
p.Link.Children.Any(a => a.IPAddress == ip))
.Where(p => p.Type == Penalty.PenaltyType.TempBan ||
p.Type == Penalty.PenaltyType.Ban ||
p.Type == Penalty.PenaltyType.Flag)
.Where(p => p.Active)
.Where(p => p.Expires == null || p.Expires > now);
#if DEBUG == true
var penaltiesSql = iqPenalties.ToSql();
#endif
@ -256,7 +259,7 @@ namespace SharedLibraryCore.Services
{
await internalContext.Clients
.Where(c => c.AliasLinkId == p.LinkId)
.ForEachAsync(c => c.Level = Player.Permission.User);
.ForEachAsync(c => c.Level = EFClient.Permission.User);
await internalContext.SaveChangesAsync();
}
}