private static void Main() { XmlConfigurator.Configure(); var log = new Log(); log.Info("Startup"); IEnumerable <ServerInfo> servers; using (var dc = new ServerInfoRepository()) { servers = dc.GetActiveServerInfo(); } 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); } } }
public BanPlayerViewModel(Guid?serverId, string playerGuid, bool isOnline, IBanHelper playerHelper, string playerName, string playerNum) { _playerGuid = playerGuid; _isOnline = isOnline; _playerHelper = playerHelper; _playerName = playerName; _playerNum = playerNum; _minutes = 0; using (var repo = new ServerInfoRepository()) Servers = repo.GetActiveServerInfo().OrderBy(x => x.Name).ToList(); if (string.IsNullOrEmpty(playerName)) { using (var userRepo = new PlayerRepository()) { var player = userRepo.GetPlayer(playerGuid); _playerName = player?.Name; } } SelectedServers = new ObservableCollection <ServerInfo>(); if (serverId.HasValue) { SelectedServers.AddRange(Servers.Where(s => s.Id == serverId.Value)); } }
public void SetActive(Guid serverId, bool active = false) { using (var repo = new ServerInfoRepository()) { repo.SetServerInfoActive(serverId, active); } _eventAggregator.GetEvent <BEServersChangedEvent>().Publish(null); }
private void LoadedWindow(object sender, RoutedEventArgs e) { using (var r = new ServerInfoRepository()) { var servers = r.GetActiveServerInfo(); foreach (var server in servers) { OpenServerInfo(server); } } }
public void Save() { try { var settings = _settingsStoreSource.GetSettingsStore(); settings.TimeZoneInfo = Settings.TimeZoneInfo; settings.AdminName = Settings.AdminName.Replace(" ", string.Empty); settings.BansUpdateSeconds = Settings.BansUpdateSeconds; settings.PlayersUpdateSeconds = Settings.PlayersUpdateSeconds; settings.Save(); using (var servierInfoRepository = new ServerInfoRepository()) { var all = servierInfoRepository.GetServerInfo(); var todelete = all.Where(x => Servers.All(s => s.GetDbModel().Id != x.Id)); foreach (var serverInfo in todelete) { servierInfoRepository.Remove(serverInfo.Id); } foreach (var s in Servers) { var m = s.GetDbModel(); if (m.Id == Guid.Empty) { m.Id = Guid.NewGuid(); } servierInfoRepository.AddOrUpdate(m); } } using (var dc = new ReasonRepository()) { dc.UpdateBanReasons(BanReasons.Select(x => x.Text).Where(x => string.IsNullOrEmpty(x) == false).Distinct().ToArray()); dc.UpdateBanTimes(BanTimes.Where(x => string.IsNullOrEmpty(x.Text) == false).Select(x => new BanTime() { TimeInMinutes = x.Minutes, Title = x.Text }).ToArray()); dc.UpdateKickReasons(KickReasons.Select(x => x.Text).Where(x => string.IsNullOrEmpty(x) == false).Distinct().ToArray()); } _eventAggregator.GetEvent <BEServersChangedEvent>().Publish(null); _eventAggregator.GetEvent <SettingsChangedEvent>().Publish(_settingsStoreSource.GetSettingsStore()); } catch (Exception e) { _log.Error(e); MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public OptionsModel(IEventAggregator eventAggregator, ISettingsStoreSource settingsStoreSource) { _eventAggregator = eventAggregator; _settingsStoreSource = settingsStoreSource; using (var servierInfoRepository = new ServerInfoRepository()) { Servers = servierInfoRepository.GetServerInfo().Select(x => new ServerInfoModel(x)).ToList(); } using (var dc = new ReasonRepository()) { BanReasons = dc.GetBanReasons().Select(x => new ReasonEdit() { Text = x }).ToList(); KickReasons = dc.GetKickReasons().Select(x => new ReasonEdit() { Text = x }).ToList(); BanTimes = dc.GetBanTimes().Select(x => new BanTimeEdit() { Text = x.Title, Minutes = x.TimeInMinutes }).ToList(); } var zones = TimeZoneInfo.GetSystemTimeZones().ToArray(); for (var i = 0; i < zones.Length; i++) { if (zones[i].Id == Settings.TimeZoneInfo.Id) { zones[i] = Settings.TimeZoneInfo; } } TimeZones = zones; }