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; } } }