Esempio n. 1
0
 public PlayerHelper(ILog log, Guid serverId, IBanHelper banHelper, IPlayerRepository playerRepository)
 {
     _log              = log;
     _serverId         = serverId;
     _banHelper        = banHelper;
     _playerRepository = playerRepository;
 }
Esempio n. 2
0
        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 ServerMonitorPlayerViewModel(ILog log, ServerInfo serverInfo,
                                            IBanHelper banHelper, IEventAggregator eventAggregator, IPlayerRepository playerRepository)
            : base(new ActionCommand(() => SendCommand(eventAggregator, serverInfo.Id, CommandType.Players)), new PlayerViewComperer())
        {
            _serverInfo      = serverInfo;
            _eventAggregator = eventAggregator;
            _playerHelper    = new PlayerHelper(log, serverInfo.Id, banHelper, playerRepository);

            KickUserCommand   = new DelegateCommand(ShowKickDialog, CanShowDialog);
            BanUserCommand    = new DelegateCommand(ShowBanDialog, CanShowDialog);
            PlayerInfoCommand = new DelegateCommand(PlayerInfoDialog, CanShowDialog);

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Player> > >().Subscribe(e =>
            {
                if (e.ServerId == serverInfo.Id)
                {
                    base.SetData(e.Items);
                    WaitingForEvent = false;
                }
            });

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Admin> > >().Subscribe(e =>
            {
                if (e.ServerId == serverInfo.Id)
                {
                    _admins = e.Items ?? new Arma3BE.Server.Models.Admin[0];
                }
            });
        }
Esempio n. 4
0
        public ServerMonitorPlayerViewModel(ServerInfoDto serverInfo,
                                            IBanHelper banHelper, IEventAggregator eventAggregator, IPlayerRepository playerRepository, ReasonRepository reasonRepository)
            : base(
                new ActionCommand(() => SendCommand(eventAggregator, serverInfo.Id, CommandType.Players)),
                new PlayerViewComparer())
        {
            _serverInfo      = serverInfo;
            _eventAggregator = eventAggregator;
            _playerHelper    = new PlayerHelper(serverInfo.Id, banHelper, playerRepository, reasonRepository);

            KickUserCommand   = new DelegateCommand(ShowKickDialog, CanShowDialog);
            BanUserCommand    = new DelegateCommand(ShowBanDialog, CanShowDialog);
            PlayerInfoCommand = new DelegateCommand(PlayerInfoDialog, CanShowDialog);


            PropertyChanged += ServerMonitorPlayerViewModel_PropertyChanged;

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Player> > >().Subscribe(e =>
            {
                if (e.ServerId == serverInfo.Id)
                {
                    SetDataAsync(e.Items);
                    WaitingForEvent = false;
                }
            });

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Admin> > >().Subscribe(e =>
            {
                if (e.ServerId == serverInfo.Id)
                {
                    _admins = e.Items ?? new Admin[0];
                }
            });
        }
Esempio n. 5
0
        public PlayerHelper(Guid serverId, IBanHelper banHelper, IPlayerRepository playerRepository, ReasonRepository reasonRepository)
        {
            _serverId         = serverId;
            _banHelper        = banHelper;
            _playerRepository = playerRepository;

            Init(reasonRepository);
        }
Esempio n. 6
0
        public PlayerHelper(Guid serverId, IBanHelper banHelper, IPlayerRepository playerRepository, ReasonRepository reasonRepository, ISteamService steamService)
        {
            _serverId         = serverId;
            _banHelper        = banHelper;
            _playerRepository = playerRepository;
            _steamService     = steamService;

            Init(reasonRepository);
        }
        public BanPlayerWindow(Guid?serverId, IBanHelper banHelper, string playerGuid, bool isOnline, string playerName,
                               string playerNum)
        {
            InitializeComponent();
            _model = new BanPlayerViewModel(serverId, playerGuid, isOnline, banHelper, playerName, playerNum);

            tbGuid.IsEnabled = string.IsNullOrEmpty(playerGuid);

            DataContext = _model;
        }
Esempio n. 8
0
        public BanPlayerWindow(Guid?serverId, IBanHelper banHelper, string playerGuid, bool isOnline, string playerName,
                               string playerNum, IServerInfoRepository infoRepository, ISettingsStoreSource settingsStoreSource) : base(settingsStoreSource)
        {
            InitializeComponent();
            _model = new BanPlayerViewModel(serverId, playerGuid, isOnline, banHelper, playerName, playerNum, infoRepository);

            tbGuid.IsEnabled = string.IsNullOrEmpty(playerGuid);

            DataContext = _model;
        }
Esempio n. 9
0
        public KickPlayerWindow(IBanHelper playerHelper, Guid serverId, int playerNum, string playerGuid, string playerName, ISettingsStoreSource settingsStoreSource) : base(settingsStoreSource)
        {
            _playerHelper = playerHelper;
            _serverId     = serverId;
            _playerNum    = playerNum;
            _playerGuid   = playerGuid;
            InitializeComponent();

            var model = new KickPlayerViewModel(playerName);

            DataContext = model;
        }
Esempio n. 10
0
        public KickPlayerWindow(IBanHelper playerHelper, Guid serverId, int playerNum, string playerGuid, string playerName)
        {
            _playerHelper = playerHelper;
            _serverId     = serverId;
            _playerNum    = playerNum;
            _playerGuid   = playerGuid;
            InitializeComponent();

            Model = new KickPlayerViewModel(playerName);

            DataContext = Model;
        }
Esempio n. 11
0
        public BanPlayerViewModel(Guid?serverId, string playerGuid, bool isOnline, IBanHelper playerHelper,
                                  string playerName,
                                  string playerNum, IServerInfoRepository infoRepository)
        {
            _playerGuid   = playerGuid;
            _isOnline     = isOnline;
            _playerHelper = playerHelper;
            _playerName   = playerName;
            _playerNum    = playerNum;
            _minutes      = 0;


            Init(infoRepository, serverId);
        }
Esempio n. 12
0
        public ServerMonitorBansViewModel(ServerInfoDto serverInfo, IEventAggregator eventAggregator, IServerInfoRepository infoRepository,
                                          IBanHelper banHelper, ISettingsStoreSource settingsStoreSource)
            : base(
                new ActionCommand(() => SendCommand(eventAggregator, serverInfo.Id, CommandType.Bans)),
                new BanViewComparer())
        {
            _serverInfoId    = serverInfo.Id;
            _eventAggregator = eventAggregator;
            _helper          = banHelper;
            AvailibleBans    = new BanView[0];

            SyncBans = new ActionCommand(() =>
            {
                var bans = SelectedAvailibleBans;

                if (bans != null)
                {
                    Task.Factory.StartNew(async() => { await _helper.BanGUIDOfflineAsync(_serverInfoId, bans.ToArray(), true); },
                                          TaskCreationOptions.LongRunning);
                }
            });

            CustomBan = new ActionCommand(() =>
            {
                var w = new BanPlayerWindow(_serverInfoId, _helper, null, false, null, null, infoRepository, settingsStoreSource);
                w.ShowDialog();
            });

            RefreshAvailiableCommand = new ActionCommand(async() =>
            {
                AvailibleBans = await GetAvailibleBans();
                RaisePropertyChanged(nameof(AvailibleBans));
                RaisePropertyChanged(nameof(AvailibleBansCount));
            });

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Ban> > >()
            .Subscribe(async e =>
            {
                if (_serverInfoId == e.ServerId)
                {
                    await SetDataAsync(e.Items);
                    WaitingForEvent = false;
                }
            });
        }
Esempio n. 13
0
        public ServerMonitorBansViewModel(ILog log, ServerInfo serverInfo, IEventAggregator eventAggregator,
                                          IBanHelper banHelper)
            : base(
                new ActionCommand(() => SendCommand(eventAggregator, serverInfo.Id, CommandType.Bans)),
                new BanViewComparer())
        {
            _log             = log;
            _serverInfoId    = serverInfo.Id;
            _eventAggregator = eventAggregator;
            _helper          = banHelper;

            SyncBans = new ActionCommand(() =>
            {
                var bans = SelectedAvailibleBans;

                if (bans != null)
                {
                    Task.Factory.StartNew(() => { _helper.BanGUIDOffline(_serverInfoId, bans.ToArray(), true); },
                                          TaskCreationOptions.LongRunning);
                }
            });

            CustomBan = new ActionCommand(() =>
            {
                var w = new BanPlayerWindow(_serverInfoId, _helper, null, false, null, null);
                w.ShowDialog();
            });

            _eventAggregator.GetEvent <BEMessageEvent <BEItemsMessage <Ban> > >()
            .Subscribe(e =>
            {
                if (_serverInfoId == e.ServerId)
                {
                    SetData(e.Items);
                    WaitingForEvent = false;
                }
            });
        }
Esempio n. 14
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public IBanManager()
 {
     ibanCheckSum = new IBanCheckSum();
     ibanHelper   = new IBanHelper();
 }
Esempio n. 15
0
 public PlayerHelper(Guid serverId, IBanHelper banHelper, IPlayerRepository playerRepository)
 {
     _serverId         = serverId;
     _banHelper        = banHelper;
     _playerRepository = playerRepository;
 }