示例#1
0
        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");
        }
示例#2
0
        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");
        }