private void CbIsAdmin_Checked(object sender, RoutedEventArgs e)
        {
            if (!(dgShow.SelectedItem is PlayerFullInfo))
            {
                dgShow.SelectedItem = null;
                return;
            }

            PlayerFullInfo playerFull = dgShow.SelectedItem as PlayerFullInfo;
            PlayerVM       player     = new PlayerVM()
            {
                Id       = playerFull.Id,
                Login    = playerFull.Login,
                Email    = playerFull.Email,
                Password = playerFull.Password,
                IsAdmin  = ((CheckBox)sender).IsChecked == true ? true : false
            };

            string url     = _hostUrl + "/api/jsstudygame/player";
            int    mistake = ServerWorker.ChangePlayerToServer(player, url);

            if (mistake <= 0)
            {
                MessageBox.Show("Adding error! Try again!");
                return;
            }
        }
Exemple #2
0
        public PlayerUC(PlayerVM player)
        {
            InitializeComponent();
            Player = player;

            SetComponents();
        }
Exemple #3
0
        public async Task GetPlayer(int index)
        {
            var response = Response;

            response.Headers.Add("Content-Type", "text/event-stream");
            response.Headers.Add("Cache-Control", "no-cache");
            response.Headers.Add("Connection", "keep-alive");

            PlayerVM currentPlayer = new PlayerVM();

            for (var i = 0; true; i = (i + 1) % 100)
            {
                PlayerVM player = index == 1 ? _livedata.GetPlayers().playerLeft : _livedata.GetPlayers().playerRight;
                if (player == null)
                {
                    player = new PlayerVM();
                }
                if (!player.name.Equals(currentPlayer.name) || !player.deck.Equals(currentPlayer.deck) || !player.score.Equals(currentPlayer.score) || !player.lifePoints.Equals(currentPlayer.lifePoints))
                {
                    await response.WriteAsync($"id: ${i}\n");

                    await response.WriteAsync("event: message\n");

                    await response.WriteAsync($"data: {JsonConvert.SerializeObject(player)}\n\n");

                    currentPlayer = new PlayerVM {
                        index = player.index, name = player.name, deck = player.deck, score = player.score, lifePoints = player.lifePoints
                    };
                }

                await response.Body.FlushAsync();

                await Task.Delay(200);
            }
        }
Exemple #4
0
        public void Setup(object sender, EventArgs args)
        {
            var gameId   = NavigationContext.QueryString["game"];
            var settings = IsolatedStorageSettings.ApplicationSettings;

            Player = settings["player"] as PlayerVM;

            Context.GetGame(gameId, game =>
                            Dispatcher.BeginInvoke(() =>
            {
                Game = new GameVM(game);

                if (Game.Host == Player)
                {
                    BindHost();
                }
                else
                {
                    BindClient();
                }

                BindChangingProperties();
                BindChangedProperties();
            })
                            , () => { });
        }
Exemple #5
0
        private void BtnAdmin_Click(object sender, RoutedEventArgs e)
        {
            if (_isGame)
            {
                MessageBox.Show("At first you must end the game!");
                return;
            }
            this.Hide();
            AdminWindow admin = new AdminWindow(_hostUrl);

            admin.Owner = this;
            admin.ShowDialog();

            if (MainWindow.playerLogin == "none" && MainWindow.playerPassword == "none")
            {
                this.Close();
                return;
            }

            requestUrl     = _hostUrl + $"/api/jsstudygame/login?emailOrLogin={MainWindow.playerLogin}&password={MainWindow.playerPassword}";
            _player        = ServerWorker.GetInfoFromServer <PlayerVM>(requestUrl);
            requestUrl     = _hostUrl + $"/api/jsstudygame/addinfo?login={MainWindow.playerLogin}&password={MainWindow.playerPassword}";
            _playerAddInfo = ServerWorker.GetInfoFromServer <PlayerAdditionalInfoVM>(requestUrl);

            requestUrl   = _hostUrl + $"/api/jsstudygame/score?login={MainWindow.playerLogin}&password={MainWindow.playerPassword}";
            _playerScore = ServerWorker.GetInfoFromServer <PlayerScoreVM>(requestUrl);
            _playerScore.IdPlayerScore = _player.Id;

            this.ShowDialog();
        }
        public void PlayerListSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListBox  list   = sender as ListBox;
            PlayerVM player = (PlayerVM)list.SelectedValue;

            this.player = player;
        }
Exemple #7
0
        public ActionResult AddPlayer()
        {
            var viewModel = new PlayerVM();

            viewModel.SetTeamNames(_league.GetAllTeams().ResponseType);
            return(View(viewModel));
        }
Exemple #8
0
        private void BtnLogin_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string requestUrl = null;
                requestUrl = _hostUrl + $"/api/jsstudygame/login?emailOrLogin={txtLogin.Text}&password={txtPassword.Text}";
                PlayerVM playerVM = ServerWorker.GetInfoFromServer <PlayerVM>(requestUrl);

                if (playerVM == null)
                {
                    MessageBox.Show("Enter correct data!", "Error");
                }
                else if (playerVM.Login == "none" && playerVM.Password == "none")
                {
                    MessageBox.Show("Incorrect data! Try again!");
                    return;
                }
                else
                {
                    Hide();
                    MainWindow.playerLogin    = playerVM.Login;
                    MainWindow.playerPassword = playerVM.Password;
                    main       = new MainWindow(_hostUrl);
                    main.Owner = this;
                    main.ShowDialog();
                    txtLogin.Text    = $"{MainWindow.playerLogin}";
                    txtPassword.Text = $"{MainWindow.playerPassword}";
                    Show();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Cannot connect to server!");
            }
        }
Exemple #9
0
        public static void SavePlayerToFile(PlayerVM player, PlayersSaveFile saveFile, string filePath)
        {
            saveFile.Players[saveFile.Players.FindIndex(p => p.Equals(player))] = player;

            var json = JsonConvert.SerializeObject(saveFile);

            File.WriteAllText(filePath, json);
        }
 public ProfileWindow(string hostUrl)
 {
     _hostUrl        = hostUrl;
     playerVM        = new PlayerVM();
     playerAddInfoVM = new PlayerAdditionalInfoVM();
     scoreVM         = new PlayerScoreVM();
     InitializeComponent();
 }
Exemple #11
0
        public ActionResult EditOnePlayer(int id)
        {
            var viewModel = new PlayerVM();

            viewModel.Player = _league.GetAPlayer(id).ResponseType;
            viewModel.SetTeamNames(_league.GetAllTeams().ResponseType);
            return(View(viewModel));
        }
Exemple #12
0
 protected void PCardAction(ButtonModifier modifier, PlayerVM player)
 {
     HandleClickedPCardEvent(new ClickedPCardEvent {
         ClickedPlayer = player,
         Modifier      = modifier,
         Sender        = player
     });
 }
        public IActionResult ChangePlayer([FromBody] PlayerVM model)
        {
            if (model == null || model.Id <= 0)
            {
                return(Ok(0));
            }

            int mistake = 0;
            var player  = _context.Players.SingleOrDefault(p => p.Id == model.Id);

            if (player == null)
            {
                return(Ok(0));
            }
            if (player.Login != model.Login)
            {
                var somePlayer = _context.Players.SingleOrDefault(p => p.Login == model.Login);
                if (somePlayer != null)
                {
                    //This login is already in use!";
                    mistake += -1;
                }
            }

            if (player.Email != model.Email)
            {
                var somePlayer = _context.Players.SingleOrDefault(p => p.Email == model.Email);
                if (somePlayer != null)
                {
                    //This email is already in use!";
                    mistake += -2;
                }
            }

            if (mistake < 0)
            {
                return(Ok(mistake));
            }

            try
            {
                player.Login    = model.Login;
                player.Email    = model.Email;
                player.IsAdmin  = model.IsAdmin;
                player.Password = model.Password;

                if (player.Id == 1)
                {
                    player.IsAdmin = true;
                }

                _context.SaveChanges();

                EmailWorker.SendEmail(model, "Account was successfully changed!");
            }
            catch (Exception) { return(Ok(0)); }
            return(Ok(player.Id));
        }
        public MainWindow()
        {
            InitializeComponent();

            _vm = new PlayerVM(configuration: new ConfigurationBuilder().AddJsonFile("appsettings.json").Build());

            DataContext = _vm;
            SetTimer();
        }
        private void RemoveParticipantBtnClick(object sender, RoutedEventArgs e)
        {
            PlayerVM player = participantsList.SelectedItem as PlayerVM;

            if (player != null)
            {
                this.vm.RemoveParticipant(player.UserName);
            }
        }
        public RegistrationWindow(string hostUrl)
        {
            playerBasicInfo = new PlayerVM();
            playerAddInfo   = new PlayerAdditionalInfoVM();
            random          = new Random();
            _hostUrl        = hostUrl;

            InitializeComponent();
        }
Exemple #17
0
        public PlayerUC(Player player)
        {
            InitializeComponent();
            Player = new PlayerVM {
                Player = player
            };

            SetComponents();
        }
Exemple #18
0
 public static void GetPlayerData(string nickname)
 {
     foreach (Tuple <int, PlayerVM> t in HomeVM.getInstance().RankList)
     {
         if (t.Item2.Nickname == nickname)
         {
             player = t.Item2;
         }
     }
 }
Exemple #19
0
        public static PlayerVM MapToVM(Player player)
        {
            PlayerVM playerVM = new PlayerVM()
            {
                Alias    = player.Alias,
                Name     = player.Name,
                PlayerId = player.PlayerId
            };

            return(playerVM);
        }
Exemple #20
0
        public static Player MapFromVM(PlayerVM playerVM)
        {
            Player player = new Player()
            {
                Alias    = playerVM.Alias,
                Name     = playerVM.Name,
                PlayerId = playerVM.PlayerId
            };

            return(player);
        }
Exemple #21
0
        public MainPage()
        {
            InitializeComponent();
            DataContext = this;

            Games = new ObservableCollection<GameVM>();
            Player = new PlayerVM();
            Settings = new SettingsVM();

            Manager.GameEventToast += ReceivedToast;
        }
Exemple #22
0
        public MainPage()
        {
            InitializeComponent();
            DataContext = this;

            Games    = new ObservableCollection <GameVM>();
            Player   = new PlayerVM();
            Settings = new SettingsVM();

            Manager.GameEventToast += ReceivedToast;
        }
Exemple #23
0
 void HandleLoadPlaylistElement(LoadPlaylistElementEvent e)
 {
     if (e.Element != null)
     {
         e.Playlist.SetActive((PlaylistElementVM)e.Element);
     }
     if (e.Playlist.ChildModels.Count > 0 && PlayerVM != null)
     {
         PlayerVM.LoadPlaylistEvent(e.Playlist, e.Element, e.Playing);
     }
 }
Exemple #24
0
 public ActionResult AddPlayer(PlayerVM viewModel)
 {
     if (ModelState.IsValid)
     {
         viewModel.Player.PositionId = viewModel.position;
         _league.AddPlayer(viewModel.Player);
         return(RedirectToAction("GetAllTeams"));
     }
     viewModel.SetTeamNames(_league.GetAllTeams().ResponseType);
     return(View(viewModel));
 }
Exemple #25
0
        public void TestRemoveEvent_WithPlayerFromOneTeam()
        {
            TeamVM     homeTeamVM, awayTeamVM;
            TimelineVM timeline;

            CreateTimelineWithTeams(out timeline, out homeTeamVM, out awayTeamVM);
            PlayerVM player1      = homeTeamVM.ViewModels [0];
            var      timelineEvnt = AddTimelineEventWithPlayers(timeline, player1);

            timeline.Model.Remove(timelineEvnt);
            CheckPlayerEvents(timeline, player1, 0);
        }
        private void AddBtn_Click(object sender, RoutedEventArgs e)
        {
            PlayerVM temp = this.allPlayerList.SelectedValue as PlayerVM;

            if (temp != null)
            {
                string selectedUserName = temp.UserName;
                this.vm.AddContact(temp);
                this.vm.AllPlayers.Remove(temp);
                vm.InitializeVm();
            }
        }
Exemple #27
0
        public ActionResult Edit(PlayerVM player)
        {
            Player p = new Player();

            if (ModelState.IsValid)
            {
                p = MapModel(player);
                _playerservice.EditRecord(p);
                return(RedirectToAction(Constant.Controller.Index));
            }
            return(View(p));
        }
        public ActionResult <PlayerVM> Post(PlayerVM playerVM)
        {
            var player = new Player()
            {
                Name = playerVM.Name
            };

            _context.Players.Add(player);
            _context.SaveChanges();

            return(Ok(player));
        }
Exemple #29
0
        public void TestAddNewEvent_WithPlayerFromOneTeam()
        {
            TeamVM     homeTeamVM, awayTeamVM;
            TimelineVM timeline;

            CreateTimelineWithTeams(out timeline, out homeTeamVM, out awayTeamVM);
            PlayerVM player = homeTeamVM.ViewModels [0];

            AddTimelineEventWithPlayers(timeline, player);

            CheckPlayerEvents(timeline, player, 1);
        }
Exemple #30
0
 public async Task <IActionResult> Create([FromBody] PlayerVM PlayerVM)
 {
     try
     {
         Player m = PlayerVM.ToModel();
         return(this.Ok(await PlayerAPI.Add(m)));
     }
     catch
     {
         return(StatusCode(500));
     }
 }
Exemple #31
0
 public static Player ToModel(this PlayerVM vm, Player p = null)
 {
     if (p == null)
     {
         p = new Player();
     }
     p.Name        = vm.Name;
     p.RedCards    = vm.RedCards;
     p.TeamName    = vm.TeamName;
     p.Number      = vm.Number;
     p.YellowCards = vm.YellowCards;
     return(p);
 }
Exemple #32
0
        private void RetrieveOrCreatePlayer(string name, string nameIdentifier)
        {
            SystemTray.ProgressIndicator.IsVisible = true;

            Context.GetPlayerByIdentifier(nameIdentifier, player =>
                Dispatcher.BeginInvoke(delegate
                {
                    var settings = IsolatedStorageSettings.ApplicationSettings;
                    settings["player"] = new PlayerVM(player);
                    SystemTray.ProgressIndicator.IsVisible = false;

                    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                })
            , () =>
                Context.CreatePlayer(name, nameIdentifier, player =>
                    Dispatcher.BeginInvoke(() =>
                    {
                        var settings = IsolatedStorageSettings.ApplicationSettings;
                        settings["player"] = new PlayerVM(player);
                        SystemTray.ProgressIndicator.IsVisible = false;

                        MainPage.NewPlayer = true;
                        NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                    })
                , () =>
                    Dispatcher.BeginInvoke(() =>
                    {
                        MessageBox.Show("The declared username is already registered with Bantu (or it contains illegal characters). Consider choosing a new name.");
                        var swtStore = (SimpleWebTokenStore)Application.Current.Resources["swtStore"];

                        tbUsername.Text = swtStore.SimpleWebToken.Claims[ClaimTypes.Name];

                        SignInControl.Visibility = System.Windows.Visibility.Collapsed;

                        spAlternate.Visibility = Visibility.Visible;

                        tbUsername.Focus();
                        tbUsername.SelectAll();
                    })
                )
            );
        }
        public void Setup(object sender, EventArgs args)
        {
            var gameId = NavigationContext.QueryString["game"];
            var settings = IsolatedStorageSettings.ApplicationSettings;
            Player = settings["player"] as PlayerVM;

            Context.GetGame(gameId, game =>
                Dispatcher.BeginInvoke(() =>
                {
                    Game = new GameVM(game);

                    if (Game.Host == Player)
                        BindHost();
                    else
                        BindClient();

                    BindChangingProperties();
                    BindChangedProperties();
                })
            , () => { });
        }
Exemple #34
0
 private int CupCount(PlayerVM p)
 {
     return Cups.Where(c => c.Owner == p && !c.IsScore).Sum(c => c.Stones);
 }
Exemple #35
0
 public CupVM Score(PlayerVM current)
 {
     return Cups.Single(c => c.IsScore && c.Owner == current);
 }
Exemple #36
0
 public CupVM Get(PlayerVM current, int cupIndex)
 {
     return Cups.Where(c => c.Owner == current).ElementAt(cupIndex);
 }
Exemple #37
0
        public void Update(Game game)
        {
            Cups[0].Stones = game.Host0;
            Cups[1].Stones = game.Host1;
            Cups[2].Stones = game.Host2;
            Cups[3].Stones = game.Host3;
            Cups[4].Stones = game.Host4;
            Cups[5].Stones = game.Host5;
            Cups[6].Stones = game.ScoreHost;

            Cups[7].Stones = game.Client0;
            Cups[8].Stones = game.Client1;
            Cups[9].Stones = game.Client2;
            Cups[10].Stones = game.Client3;
            Cups[11].Stones = game.Client4;
            Cups[12].Stones = game.Client5;
            Cups[13].Stones = game.ScoreClient;

            State = (GameState)game.State;

            if (Host == null || Host.Name == string.Empty)
                Host = new PlayerVM { Name = game.Host };

            if (Client == null || Client.Name == string.Empty)
                Client = new PlayerVM { Name = game.Client };
        }
        public SynchronizationWidget()
        {
            this.Build ();

            timeoutID = 0;

            zoomscale.CanFocus = false;
            zoomscale.Adjustment.Lower = 0;
            zoomscale.Adjustment.Upper = 100;

            zoomoutimage.Pixbuf = Helpers.Misc.LoadIcon ("longomatch-zoom-out", 14);
            zoominimage.Pixbuf = Helpers.Misc.LoadIcon ("longomatch-zoom-in", 14);

            // Only main cam has audio for now
            main_cam_audio_button_image.Pixbuf = Helpers.Misc.LoadIcon ("longomatch-control-volume-hi", IconSize.Button);
            sec_cam_audio_button_image.Pixbuf = Helpers.Misc.LoadIcon ("longomatch-control-volume-off", IconSize.Button);
            main_cam_audio_button.Active = true;
            sec_cam_audio_button.Active = false;

            // We control visibility of those widgets, they are hidden at startup
            sec_cam_vbox.NoShowAll = true;
            sec_cam_didactic_label.NoShowAll = true;

            timerule = new Timerule (new WidgetWrapper (timerulearea));
            camerasTimeline = new CamerasTimeline (new WidgetWrapper (timelinearea));
            camerasLabels = new CamerasLabels (new WidgetWrapper (labelsarea));

            // Set some sane defaults
            labels_vbox.WidthRequest = StyleConf.TimelineLabelsWidth;
            // We need to align the timerule and the beginning of labels list
            timerulearea.HeightRequest = StyleConf.TimelineCameraHeight;

            main_cam_label.ModifyFont (FontDescription.FromString (App.Current.Style.Font + " bold 14"));
            sec_cam_label.ModifyFont (FontDescription.FromString (App.Current.Style.Font + " bold 14"));
            //FIXME: This Should Implement IView with a ViewModel with two PlayerVMs
            mainCamPlayerVM = new PlayerVM ();
            secCamPlayerVM = new PlayerVM ();
            main_cam_playerbin.SetViewModel (mainCamPlayerVM);
            sec_cam_playerbin.SetViewModel (secCamPlayerVM);
            mainCamPlayerVM.Mode = PlayerViewOperationMode.Synchronization;
            mainCamPlayerVM.Mode = PlayerViewOperationMode.Synchronization;

            ConnectSignals ();

            Helpers.Misc.SetFocus (this, false);

            menu = new PeriodsMenu ();
        }
Exemple #39
0
        public GameVM(Game game)
            : this()
        {
            Id = game.RowKey;

            Host = new PlayerVM { Name = game.Host };
            Client = new PlayerVM { Name = game.Client };

            Cups[0].Stones = game.Host0;
            Cups[1].Stones = game.Host1;
            Cups[2].Stones = game.Host2;
            Cups[3].Stones = game.Host3;
            Cups[4].Stones = game.Host4;
            Cups[5].Stones = game.Host5;
            Cups[6].Stones = game.ScoreHost;

            Cups[7].Stones = game.Client0;
            Cups[8].Stones = game.Client1;
            Cups[9].Stones = game.Client2;
            Cups[10].Stones = game.Client3;
            Cups[11].Stones = game.Client4;
            Cups[12].Stones = game.Client5;
            Cups[13].Stones = game.ScoreClient;

            State = (GameState)game.State;
        }