Changed login design, moved all db entities to Entities folder

This commit is contained in:
hydrant
2019-03-07 15:55:08 +01:00
parent be82292ab7
commit 04ed4bc322
24 changed files with 466 additions and 349 deletions

View File

@@ -15,8 +15,6 @@ namespace ReallifeGamemode.Server.Events
{
class Connect : Script
{
[ServerEvent(Event.PlayerConnected)]
public void OnPlayerConnected(Client player)
{
@@ -28,8 +26,6 @@ namespace ReallifeGamemode.Server.Events
{
if(!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == player.SocialClubName.ToLower()))
{
player.TriggerEvent("disableLogin");
string msg2 = "~m~*** " + player.Name + "[" + player.SocialClubName + "] (" + player.Address + ") hat versucht, sich einzuloggen, steht aber nicht auf der Whitelist.";
ChatService.BroadcastAdmin(msg2, AdminLevel.ADMIN);
@@ -42,29 +38,30 @@ namespace ReallifeGamemode.Server.Events
}
}
if (IsPlayerBanned(player)) return;
player.TriggerEvent("SERVER:Login_ShowBrowser");
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID:" + player.Handle.Value + "] (" + player.Address + ")";
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
}
[RemoteEvent("IsPlayerBanned")]
public void IsPlayerBanned(Client player)
private bool IsPlayerBanned(Client player)
{
using (var loginUser = new DatabaseContext())
using (var dbContext = new DatabaseContext())
{
var user = loginUser.Users.SingleOrDefault(b => b.Name == player.Name);
var user = dbContext.Users.SingleOrDefault(b => b.Name == player.Name);
if (user == null)
{
player.TriggerEvent("showLogin");
return;
return false;
}
if (user.BanId != null)
{
var dt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var bannedUser = loginUser.Bans.SingleOrDefault(u => u.Id == user.BanId);
var bannedUser = dbContext.Bans.SingleOrDefault(u => u.Id == user.BanId);
if (bannedUser.Applied == bannedUser.UntilDateTime)
{
player.SendChatMessage("!{#FF4040}Du wurdest permanent gebannt! [" + bannedUser.Reason + "]");
player.Kick();
return true;
}
else
{
@@ -75,16 +72,17 @@ namespace ReallifeGamemode.Server.Events
{
player.SendChatMessage("Du bist noch bis zum !{#FF4040}" + dt.AddSeconds(timeStamp).ToLocalTime() + " Uhr ~s~gebannt. [" + bannedUser.Reason + "]");
player.Kick();
return true;
}
else
{
user.BanId = null;
loginUser.SaveChanges();
player.TriggerEvent("showLogin");
dbContext.SaveChanges();
return false;
}
}
}
else player.TriggerEvent("showLogin");
return false;
}
}
}