private async void ExecuteSignInCommand(object obj) { // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } // Check if nickname exists. var nickname = _loginWindowViewModel.Nickname; if (nickname == null) { return; } var isSuccess = await _bettorClient.IsValidNicknameAsync(nickname); if (isSuccess) { var bettor = await _bettorClient.GetBettorAsync(nickname); var menu = new MenuWindowController(); menu.Initialize(_mainWindow, bettor); } else { MessageBox.Show("Der Benutzer ist nicht vorhanden!", "Anmeldung fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Error); } }
public async void Initialize(MainWindow mainWindow, MenuWindowController menuWindow, Season selectedSeason, Bettor bettor) { _view = new MatchesWindow(); _bettorClient = new BettorClientServiceClient(); _mainWindow = mainWindow; _menuWindow = menuWindow; _selectedSeason = selectedSeason; _bettor = bettor; #region View and ViewModel // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } _viewModel = new MatchesWindowViewModel { SelectedSeason = _selectedSeason, Matches = LoadModels(), SelectedMatch = SortedMatches().FirstOrDefault(), SelectedMatchCommand = new RelayCommand(ExecuteSelectedMatchCommand), BackCommand = new RelayCommand(ExecuteBackCommand) }; _view.DataContext = _viewModel; #endregion _mainWindow.Content = _view; }
public async void ExecuteTeamsCommand(object obj) { // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } var teamRankingWindowController = new TeamRankingWindowController(); _selectedSeason = _viewModel.SelectedSeason; teamRankingWindowController.Initialize(_mainWindow, this, _viewModel.SelectedSeason, _bettor); }
public async void Initialize(MainWindow mainWindow, MenuWindowController menuWindow, Season selectedSeason, Bettor bettor) { _view = new BettorRankingWindow(); _bettorClient = new BettorClientServiceClient(); _mainWindow = mainWindow; _menuWindow = menuWindow; _selectedSeason = selectedSeason; _bettor = bettor; #region View and ViewModel // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } var matches = await _bettorClient.GetMatchesAsync(_selectedSeason); // get rankedbettors var rankedBettors = await _bettorClient.GetAllRankedBettorsAsync(_selectedSeason); // set list for match days var matchDays = new ObservableCollection <string> { "Aktuell" }; if (matches.Any()) { // find max match day var max = matches.Max(x => x.MatchDay); for (var i = 1; i <= max; i++) { matchDays.Add("Spieltag: " + i); } } _viewModel = new BettorRankingWindowViewModel { Bettors = rankedBettors.ToList(), SelectedMatchDay = matchDays.FirstOrDefault(), MatchDays = matchDays, BackCommand = new RelayCommand(ExecuteBackCommand) }; _viewModel.SelectionMatchDayChanged += UpdateMatchDay; // set view of Window _view.DataContext = _viewModel; #endregion _mainWindow.Content = _view; }
private async void UpdateMatchDay(object sender, string s) { // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } var matchday = _view.MatchDayComboBox.SelectedIndex; if (matchday == 0) { var rankedTeams = await _bettorClient.GetAllRankedTeamsAsync(_selectedSeason); _viewModel.Teams = rankedTeams.ToList(); } else { var rankedTeams = await _bettorClient.GetRankedTeamsAsync(_selectedSeason, matchday); _viewModel.Teams = rankedTeams.ToList(); } }
public async void ExecuteSelectedMatchCommand(object obj) { var viewModelSelectedMatch = _viewModel.SelectedMatch; if (viewModelSelectedMatch == null) { MessageBox.Show("Bitte wählen Sie ein Spiel aus!", "Kein Spiel ausgewählt", MessageBoxButton.OK, MessageBoxImage.Warning); return; } var bet = _bettorClient.GetBet(viewModelSelectedMatch, _bettor); var detailMatchWindowController = new DetailMatchWindowController { Match = viewModelSelectedMatch, Bet = bet }; var betState = detailMatchWindowController.ShowMatch(); // Check if service is available if (!await BettorClientHelper.IsAvailable(_bettorClient)) { return; } if (betState == State.Abort) { return; } // At this point we do not know if the bettor still bet for the match, therefore we have to look if it it null or not. bool isSuccess = false; switch (betState) { case State.Changed: isSuccess = await _bettorClient.ChangeBetAsync(detailMatchWindowController.Bet); break; case State.Added: detailMatchWindowController.Bet.Bettor = _bettor; isSuccess = await _bettorClient.AddBetAsync(detailMatchWindowController.Bet); break; case State.Deleted: isSuccess = await _bettorClient.RemoveBetAsync(detailMatchWindowController.Bet); break; } if (!isSuccess) { MessageBox.Show( "Der Tipp konnte nicht abgegeben werden! Bitte beachten Sie, dass Sie bis spätestens 30 Minuten vor Spielbeginn tippen können!", "Tipp fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Error); LoadModels(); return; } switch (betState) { case State.Added: case State.Changed: MessageBox.Show("Der Tipp wurde erfolgreich abgegeben, viel Erfolg!", "Tipp erfolgreich", MessageBoxButton.OK, MessageBoxImage.Information); break; case State.Deleted: MessageBox.Show("Der Tipp wurde erfolgreich gelöscht!", "Tipp erfolgreich", MessageBoxButton.OK, MessageBoxImage.Information); break; } LoadModels(); }