using GTANetworkAPI; using reallife_gamemode.Model; using reallife_gamemode.Server.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; /** * @overview Life of German Reallife - Client Extension (ClientExtension.cs) * @author VegaZ, hydrant * @copyright (c) 2008 - 2018 Life of German */ namespace reallife_gamemode.Server.Extensions { public static class ClientExtension { public static User GetUser(this Client client) { using(DatabaseContext dbContext = new DatabaseContext()) { return dbContext.Users.FirstOrDefault(u => u.Name == client.Name); } } public static bool IsLoggedIn(Client player) { return player.GetData("isLoggedIn"); } public static void BanPlayer(Client admin, Client target, string reason, int mins) { if(mins == 0) { NAPI.Chat.SendChatMessageToAll("!{#FF4040}[BAN] " + target.Name + " wurde von " + admin.Name + " permanent gebannt. [" + reason + "]"); //user.Kick(); mins--; } else { NAPI.Chat.SendChatMessageToAll("!{#FF4040}[BAN] " + target.Name + " wurde von " + admin.Name + " für " + mins + " Minuten gebannt. [" + reason + "]"); //user.Kick(); } using (var banUser = new DatabaseContext()) { var user = new Ban { UserId = GetUser(target).Id, Reason = reason, BannedBy = admin.Name, UntilDateTime = BitConverter.GetBytes(DateTime.Now.Ticks - mins)}; banUser.Bans.Add(user); banUser.SaveChanges(); } } } }