Example #1
0
        public void SelectCategory(object menuItem)
        {
            if ((menuItem as MenuItem).Header.ToString() != CategoryLabel.ToString())
            {
                int seconds = (deadline - DateTime.Now).Seconds;
                StopTimer();
                MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure you want to change the category?\nIf you change it you will lose this game!", "Change category?", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    switch (oldCategory)
                    {
                    case Category.All:
                        user.StatisticsProperty.LostGamesAll += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.All;
                        break;

                    case Category.Cars:
                        user.StatisticsProperty.LostGamesCars += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.Cars;
                        break;

                    case Category.Movies:
                        user.StatisticsProperty.LostGamesMovies += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.Movies;
                        break;

                    case Category.States:
                        user.StatisticsProperty.LostGamesStates += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.States;
                        break;

                    case Category.Mountains:
                        user.StatisticsProperty.LostGamesMountains += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.Mountains;
                        break;

                    case Category.Rivers:
                        user.StatisticsProperty.LostGamesRivers += 1;
                        CategoryLabel = user.GameProperty.CategoryProperty = Category.Rivers;
                        break;

                    default:
                        break;
                    }
                    switch ((menuItem as MenuItem).Header)
                    {
                    case "All":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.All;
                        AllIsSelected       = true;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case "Cars":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Cars;
                        AllIsSelected       = false;
                        CarsIsSelected      = true;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case "Mountains":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Mountains;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = true;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case "Movies":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Movies;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = true;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case "Rivers":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Rivers;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = true;
                        StatesIsSelected    = false;
                        break;

                    case "States":
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.States;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = true;
                        break;

                    default:
                        break;
                    }
                    user.GameProperty.LevelProperty    = 1;
                    user.GameProperty.MistakesProperty = 0;
                    foreach (var userInList in users.List)
                    {
                        if (userInList.Name == user.Name)
                        {
                            userInList.StatisticsProperty = user.StatisticsProperty;
                            if (resumeGame)
                            {
                                userInList.GameProperty = new Game();
                                userInList.GameProperty.CategoryProperty = user.GameProperty.CategoryProperty;
                            }
                        }
                    }
                    serializationActions.SerializeUsers(Constants.UsersFile, users);
                    ResetButtons();
                    HomeViewModel homeViewModel = new HomeViewModel(user);
                    App.Current.MainWindow.DataContext = homeViewModel;
                }
                else
                {
                    switch (oldCategory)
                    {
                    case Category.All:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.All;
                        AllIsSelected       = true;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case Category.Cars:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Cars;
                        AllIsSelected       = false;
                        CarsIsSelected      = true;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case Category.Movies:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Movies;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = true;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case Category.States:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.States;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = false;
                        StatesIsSelected    = true;
                        break;

                    case Category.Mountains:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Mountains;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = true;
                        RiversIsSelected    = false;
                        StatesIsSelected    = false;
                        break;

                    case Category.Rivers:
                        CategoryLabel       = user.GameProperty.CategoryProperty = Category.Rivers;
                        AllIsSelected       = false;
                        CarsIsSelected      = false;
                        MoviesIsSelected    = false;
                        MountainsIsSelected = false;
                        RiversIsSelected    = true;
                        StatesIsSelected    = false;
                        break;

                    default:
                        break;
                    }
                    StartTimer(seconds);
                }
            }
            else
            {
                switch (oldCategory)
                {
                case Category.All:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.All;
                    AllIsSelected       = true;
                    CarsIsSelected      = false;
                    MoviesIsSelected    = false;
                    MountainsIsSelected = false;
                    RiversIsSelected    = false;
                    StatesIsSelected    = false;
                    break;

                case Category.Cars:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.Cars;
                    AllIsSelected       = false;
                    CarsIsSelected      = true;
                    MoviesIsSelected    = false;
                    MountainsIsSelected = false;
                    RiversIsSelected    = false;
                    StatesIsSelected    = false;
                    break;

                case Category.Movies:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.Movies;
                    AllIsSelected       = false;
                    CarsIsSelected      = false;
                    MoviesIsSelected    = true;
                    MountainsIsSelected = false;
                    RiversIsSelected    = false;
                    StatesIsSelected    = false;
                    break;

                case Category.States:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.States;
                    AllIsSelected       = false;
                    CarsIsSelected      = false;
                    MoviesIsSelected    = false;
                    MountainsIsSelected = false;
                    RiversIsSelected    = false;
                    StatesIsSelected    = true;
                    break;

                case Category.Mountains:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.Mountains;
                    AllIsSelected       = false;
                    CarsIsSelected      = false;
                    MoviesIsSelected    = false;
                    MountainsIsSelected = true;
                    RiversIsSelected    = false;
                    StatesIsSelected    = false;
                    break;

                case Category.Rivers:
                    CategoryLabel       = user.GameProperty.CategoryProperty = Category.Rivers;
                    AllIsSelected       = false;
                    CarsIsSelected      = false;
                    MoviesIsSelected    = false;
                    MountainsIsSelected = false;
                    RiversIsSelected    = true;
                    StatesIsSelected    = false;
                    break;

                default:
                    break;
                }
            }
        }