static void Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); var log = new Log(); log.Info("Startup"); var servers = new List<ServerInfo>(); using (var dc = new Arma3BeClientContext()) { servers = dc.ServerInfo.Where(x => x.Active).ToList(); } var models = servers.Select(x=>OpenServerInfo(x, log)).ToList(); while (true) { try { var t = Task.Run(() => run(models)); t.Wait(); } catch (Exception ex) { log.Error(ex); } } }
private static SettingsStore Load() { using (var context = new Arma3BeClientContext()) { var ss = new SettingsStore(); var needSave = false; var aname = context.Settings.FirstOrDefault(x => x.Id == AdminNameKey); if (aname == null) { var def = "Admin"; context.Settings.Add(new Settings() {Id = AdminNameKey, Value = def}); needSave = true; ss.AdminName = def; } else { ss.AdminName = aname.Value; } if (needSave) context.SaveChanges(); return ss; } }
public void Save() { using (var context = new Arma3BeClientContext()) { context.Settings.AddOrUpdate( new Settings { Id = AdminNameKey, Value = AdminName }, new Settings { Id = TimeZoneKey, Value = TimeZoneInfo?.Id }, new Settings { Id = PlayersUpdateKey, Value = PlayersUpdateSeconds.ToString() }, new Settings { Id = BansUpdateKey, Value = BansUpdateSeconds.ToString() }, new Settings { Id = BanMessageTemplateKey, Value = BanMessageTemplate }, new Settings { Id = KickMessageTemplateKey, Value = KickMessageTemplate } ); context.SaveChanges(); _instance = null; } }
public void AddOrUpdate(IEnumerable <Admin> admins, Guid serverId) { var l = admins.ToList(); var ips = l.Select(x => x.IP).ToList(); using (var context = new Arma3BeClientContext()) { var adminsdb = context.Admins.Where(x => x.ServerId == serverId && ips.Contains(x.IP)).ToList(); foreach (var admin in l) { var db = adminsdb.FirstOrDefault(x => x.IP == admin.IP); if (db == null) { context.Admins.Add(new ModelCompact.Admin { ServerId = serverId, IP = admin.IP, Port = admin.Port, Num = admin.Num }); } } context.SaveChanges(); } }
public async Task <IEnumerable <PlayerDto> > GetAllPlayersAsync() { using (var dc = new Arma3BeClientContext()) { return(await dc.Player.ToListAsync()); } }
private string LoadInternal(string key) { using (var context = new Arma3BeClientContext()) { return(context.CustomSettings.FirstOrDefault(x => x.Id == key)?.Value); } }
public bool HaveChatLogs(Guid serverId) { using (var dc = new Arma3BeClientContext()) { return(dc.ChatLog.Any(x => x.ServerId == serverId)); } }
public IEnumerable <ServerInfo> GetNotActiveServerInfo() { using (var dc = new Arma3BeClientContext()) { return(dc.ServerInfo.Where(x => !x.Active).ToList()); } }
public IEnumerable <PlayerDto> GetPlayers(IEnumerable <string> guids) { using (var dc = new Arma3BeClientContext()) { return(dc.Player.Where(x => guids.Contains(x.GUID)).ToList()); } }
public IEnumerable <ServerInfo> GetServerInfo() { using (var dc = new Arma3BeClientContext()) { return(dc.ServerInfo.ToList()); } }
public PlayerDto GetPlayer(string guid) { using (var dc = new Arma3BeClientContext()) { return(dc.Player.FirstOrDefault(x => x.GUID == guid)); } }
public IEnumerable <PlayerDto> GetPlayers(Expression <Func <Player, bool> > expression) { using (var dc = new Arma3BeClientContext()) { return(dc.Player.Where(expression).ToList()); } }
public IEnumerable <PlayerDto> GetAllPlayers() { using (var dc = new Arma3BeClientContext()) { return(dc.Player.ToList()); } }
private static SettingsStore Load() { using (var context = new Arma3BeClientContext()) { var settings = context.Settings.ToArray(); var ss = new SettingsStore(); ss.AdminName = settings.FirstOrDefault(x => x.Id == AdminNameKey)?.Value ?? "Admin"; ss.BanMessageTemplate = settings.FirstOrDefault(x => x.Id == BanMessageTemplateKey)?.Value ?? "[{AdminName}][{Date} {Time}] {Reason} {Minutes}"; ss.KickMessageTemplate = settings.FirstOrDefault(x => x.Id == KickMessageTemplateKey)?.Value ?? "[{AdminName}][{Date} {Time}] {Reason}"; ss.PlayersUpdateSeconds = (settings.FirstOrDefault(x => x.Id == PlayersUpdateKey)?.Value).FromString(5); ss.BansUpdateSeconds = (settings.FirstOrDefault(x => x.Id == BansUpdateKey)?.Value).FromString(5); try { var zone = settings.FirstOrDefault(x => x.Id == TimeZoneKey)?.Value; ss.TimeZoneInfo = zone != null?TimeZoneInfo.FindSystemTimeZoneById(zone) : TimeZoneInfo.Local; } catch (Exception) { ss.TimeZoneInfo = TimeZoneInfo.Local; } return(ss); } }
public OptionsModel() { _context = new Arma3BeClientContext(); _context.ServerInfo.Load(); Servers = _context.ServerInfo.Local.Select(x => new ServerInfoModel(x)).ToList(); }
public void AddOrUpdate(ServerInfo serverInfo) { using (var dc = new Arma3BeClientContext()) { dc.ServerInfo.AddOrUpdate(serverInfo); dc.SaveChanges(); } }
public IEnumerable <PlayerDto> GetAllPlayersWithoutSteam() { using (var dc = new Arma3BeClientContext()) { return (dc.Player.Where(x => string.IsNullOrEmpty(x.SteamId)).ToArray()); } }
public Task <BanTime[]> GetBanTimesAsync() { return(Task.Run(() => { using (var dc = new Arma3BeClientContext()) return dc.BanTimes.ToArray(); })); }
public Task <string[]> GetImportantWordsAsync() { return(Task.Run(() => { using (var dc = new Arma3BeClientContext()) return dc.ImportantWords.Select(x => x.Text).ToArray(); })); }
public void AddOrUpdate(IEnumerable <Ban> bans) { using (var dc = new Arma3BeClientContext()) { dc.Bans.AddOrUpdate(bans.ToArray()); dc.SaveChanges(); } }
public Task <string[]> GetBadNicknamesAsync() { return(Task.Run(() => { using (var dc = new Arma3BeClientContext()) return dc.BadNicknames.Select(x => x.Text).ToArray(); })); }
public void AddHistory(List <PlayerHistory> histories) { using (var dc = new Arma3BeClientContext()) { dc.PlayerHistory.AddOrUpdate(histories.ToArray()); dc.SaveChanges(); } }
public IEnumerable <Ban> GetActiveBans(Guid serverId) { using (var context = new Arma3BeClientContext()) { return (context.Bans.Where(x => x.IsActive && x.ServerId == serverId) .ToList()); } }
public void UpdateBanTimes(BanTime[] banTimes) { using (var dc = new Arma3BeClientContext()) { dc.BanTimes.RemoveRange(dc.BanTimes); dc.BanTimes.AddRange(banTimes.Distinct().ToArray()); dc.SaveChanges(); } }
public async Task <IEnumerable <ServerInfoDto> > GetNotActiveServerInfoAsync() { return(await Task.Run(() => { using (var dc = new Arma3BeClientContext()) { return dc.ServerInfo.Where(x => !x.Active).Select(ToDto).ToArray(); } })); }
public void AddOrUpdate(IEnumerable <PlayerDto> players) { var playerList = players.Select(Map).ToArray(); using (var dc = new Arma3BeClientContext()) { dc.Player.AddOrUpdate(playerList); dc.SaveChanges(); } }
private void SaveInternal(string key, string value) { using (var context = new Arma3BeClientContext()) { context.CustomSettings.AddOrUpdate(new CustomSettings { Id = key, Value = value }); context.SaveChanges(); } }
public IEnumerable <Ban> GetActivePermBans() { using (var dc = new Arma3BeClientContext()) { return(dc.Bans .Where(x => x.ServerInfo.Active && x.IsActive && x.MinutesLeft == 0) .Include(x => x.Player) .ToList()); } }
public async Task <IEnumerable <PlayerDto> > GetPlayersAsync(Expression <Func <Player, bool> > expression) { return(await Task.Run(() => { using (var dc = new Arma3BeClientContext()) { return dc.Player.Where(expression).ToList(); } })); }
public async Task <IEnumerable <PlayerDto> > GetPlayersAsync(IEnumerable <string> guids) { return(await Task.Run(() => { using (var dc = new Arma3BeClientContext()) { return dc.Player.Where(x => guids.Contains(x.GUID)).ToList(); } })); }
public async Task <PlayerDto> GetPlayerAsync(string guid) { return(await Task.Run(() => { using (var dc = new Arma3BeClientContext()) { return dc.Player.FirstOrDefault(x => x.GUID == guid); } })); }
public Task AddOrUpdateAsync(ServerInfoDto serverInfo) { return(Task.Run(() => { using (var dc = new Arma3BeClientContext()) { dc.ServerInfo.AddOrUpdate(FromDto(serverInfo)); dc.SaveChanges(); } })); }
public Task AddOrUpdateAsync(IEnumerable <Ban> bans) { return(Task.Run(() => { using (var dc = new Arma3BeClientContext()) { dc.Bans.AddOrUpdate(bans.ToArray()); dc.SaveChanges(); } })); }
public void SetActive(Guid serverId, bool active = false) { using (var context = new Arma3BeClientContext()) { var server = context.ServerInfo.FirstOrDefault(x => x.Id == serverId); if (server != null) { server.Active = active; context.SaveChanges(); } } }
public void Save() { using (var context = new Arma3BeClientContext()) { var aname = context.Settings.FirstOrDefault(x => x.Id == AdminNameKey); if (aname == null) { context.Settings.Add(new Settings() { Id = AdminNameKey, Value = this.AdminName }); } else { aname.Value = this.AdminName; } context.SaveChanges(); _instance = null; } }
public bool RegisterChatMessage(ChatMessage message) { if (message.Type != ChatMessage.MessageType.Unknown) { using (var context = new Arma3BeClientContext()) { context.ChatLog.Add(new ChatLog { Date = message.Date, ServerId = _currentServerId, Text = message.Message }); context.SaveChangesAsync(); } } return true; }
private void SaveUserComment() { using (var dc = new Arma3BeClientContext()) { var dbp = dc.Player.FirstOrDefault(x => x.GUID == Player.GUID); if (dbp != null) { dbp.Comment = Player.Comment; dc.SaveChanges(); } } _player = null; RaisePropertyChanged("Player"); }
public void Refresh() { using (var context = new Arma3BeClientContext()) { var opts = SelectedOptions.Split(','); var searchName = opts.Contains("Name"); var searchLastNames = opts.Contains("Last Names"); var searchIP = opts.Contains("IP"); var searchGuid = opts.Contains("Guid"); var searchNotes = opts.Contains("Notes"); var searchComment = opts.Contains("Comment"); var result = context.Player.AsQueryable(); if (!string.IsNullOrEmpty(Filter)) { result = result.Where(x => (searchGuid && x.GUID == Filter) || (searchComment && x.Comment.Contains(Filter)) || (searchName && x.Name.Contains(Filter)) || (searchNotes && x.Notes.Any(y => y.Text.Contains(Filter))) || (searchIP && x.LastIp.Contains(Filter)) || (searchLastNames && x.PlayerHistory.Any(y => y.Name.Contains(Filter))) ); } var r = result.Select(x => new PlayerView() { Id = x.Id, Comment = x.Comment, Guid = x.GUID, Name = x.Name, LastIp = x.LastIp, LastSeen = x.LastSeen }).OrderBy(x => x.Name).ToList(); PlayerCount = r.Count; _players = r; } RaisePropertyChanged("Players"); }