protected override async void ExecuteAddCommand(object obj) { // Add Season to choose var seasons = await _adminClient.GetSeasonsAsync(); var result = new List <SeasonCheckBox>(); // Create SeasonCheckBox seasons.ToList().ForEach(x => { result.Add(new SeasonCheckBox { Season = x, // Default is null IsAdded = false }); }); var addBettorWindow = new AddTeamWindowController { Team = new Team(), Seasons = result }; var showTeam = addBettorWindow.ShowTeam(); // it could be possible that the bettor is null if (showTeam == null) { return; } // Check if service is available if (!await AdminClientHelper.IsAvailable(_adminClient)) { return; } // add bettor var isAdded = await _adminClient.AddTeamAsync(showTeam); var addedSeasons = addBettorWindow.Seasons.FindAll(x => x.IsAdded); var allTeamsAsync = await _adminClient.GetAllTeamsAsync(); var team = allTeamsAsync.ToList().Find(x => x.Name.ToUpper().Equals(showTeam.Name.ToUpper())); if (addedSeasons.Any()) { addedSeasons.ToList().ForEach(x => _adminClient.AddSeasonToTeamRelation(new SeasonToTeamRelation { Team = team, Season = x.Season })); } UpdateModels(isAdded, "Mannschaft konnte nicht hinzugefügt werden, da der Name schon vergeben ist!", "Hinzufügen fehlgeschlagen"); }
protected override async void ExecuteChangeCommand(object obj) { if (_viewModel.SelectedTeam == null) { MessageBox.Show("Bitte wählen Sie eine Mannschaft aus!", "Keine Mannschaft ausgewählt", MessageBoxButton.OK, MessageBoxImage.Warning); return; } // Check if service is available if (!await AdminClientHelper.IsAvailable(_adminClient)) { return; } var seasons = await _adminClient.GetSeasonsAsync(); var seasonToTeamRelation = await _adminClient.GetAllSeasonToTeamRelationAsync(); var result = new List <SeasonCheckBox>(); seasons.ToList().ForEach(x => { result.Add(new SeasonCheckBox { Season = x, IsAdded = seasonToTeamRelation.Any(y => y.Season.Name.ToUpper().Equals(x.Name.ToUpper()) && y.Team.Name.ToUpper().Equals(_viewModel.SelectedTeam.Name.ToUpper())) }); }); var addBettorWindow = new AddTeamWindowController { Team = _viewModel.SelectedTeam, Seasons = result }; var showTeam = addBettorWindow.ShowTeam(); // it could be possible that the bettor is null if (showTeam == null) { ReloadModels(); return; } // Check if service is available if (!await AdminClientHelper.IsAvailable(_adminClient)) { return; } // add bettor var isAdded = await _adminClient.UpdateTeamAsync(showTeam); var allTeamsAsync = await _adminClient.GetAllTeamsAsync(); var team = allTeamsAsync.ToList().Find(x => x.Name.ToUpper().Equals(showTeam.Name.ToUpper())); addBettorWindow.Seasons.ForEach(x => { if (x.IsAdded) { _adminClient.AddSeasonToTeamRelation(new SeasonToTeamRelation { Team = team, Season = x.Season }); } else { _adminClient.DeleteSeasonToTeamRelation(new SeasonToTeamRelation { Team = team, Season = x.Season }); } }); UpdateModels(isAdded, "Die Mannschaft konnte nicht geändert werden!", "Änderung fehlgeschlagen"); }