public MainWindowViewModel()
 {
     try
     {
         ButtonNewGameCommand = new Command(arg => ButtonNewGameClick());
         ButtonSavedGameCommand = new Command(arg => ButtonSavedGameClick());
         ButtonAuthorsCommand = new Command(arg => ButtonAuthorsClick());
     }
     catch(Exception e)
     {
         MessageBox.Show("Ошибка!" + e.Message);
     }
 }
 public NewGameWindowViewModel()
 {
     try
     {
         _gameMode = pz.DefineGameModes();
         _levelDifficulty = pz.DefineDifficultyLevels();
         _listOfPictures = db.LoadMiniatures(); //this should be in parallel task in order to prevent UI from blocking
         ButtonPlayCommand = new Command(arg => ButtonPlayClick());
     }
     catch (Exception e)
     {
         MessageBox.Show("Ошибка!" + e.Message);
     }
 }
 public GameWindowViewModel(int id, int level)
 {
     try
     {
         Id = id;
         Level = level;
         _changingCell = -1;
         ButtonPressedCommand = new Command(arg => ButtonPressedClick(arg));
         ButtonSavedGameCommand = new Command(arg => ButtonSavedGameClick());
         CallPopulateMethod(true);
     }
     catch(Exception e)
     {
         MessageBox.Show("Ошибка!" + e.Message);
     }
 }
 public BeforeNewGameWindowViewModel()
 {
     ButtonFromDBCommand = new Command(arg => ButtonFromDBClick());
     ButtonUploadCommand = new Command(arg => ButtonUploadClick());
 }
        public CustomNewGameWindowViewModel()
        {
            try
            {
                _gameMode = pz.DefineGameModes();
                _levelDifficulty = pz.DefineDifficultyLevels();

                ButtonPlayCommand = new Command(arg => ButtonPlayClick());
                ButtonUploadPictureCommand = new Command(arg => ButtonUploadPictureClick());
            }
            catch(Exception e)
            {
                MessageBox.Show("Ошибка" + e.Message);
            }

        }