示例#1
0
 internal void Close(bool askSaveChanges)
 {
     if (HasChanges && askSaveChanges)
     {
         MessengerInstance.Send(new AreYouSureMessage("Änderungen", "Sollen die Änderungen gespeichert werden?", () =>
         {
             //Save changes
             SaveChangesCommand.Execute(null);
         }));
     }
     MessengerInstance.Send(new CloseTournamentMessage(this));
 }
        private void SetPassword(object parameter)
        {
            var passwords = parameter as PasswordBox[];

            if (passwords == null)
            {
                return;
            }

            if (Settings.IsMasterPasswordSet)
            {
                string currentPassword = Hashing.EncryptString(passwords[2].Password);
                string storedPassword  = Settings.WindowOpen;
                if (storedPassword == null)
                {
                    Settings.IsMasterPasswordSet = false;
                    SettingsChanging();
                    SaveChangesCommand.Execute(null);
                    return;
                }
                if (currentPassword != storedPassword)
                {
                    windowService.ShowMessageDialog("Wrong current password.", false);
                    return;
                }
            }
            string password        = passwords[0].Password;
            string confirmPassword = passwords[1].Password;

            if (password != confirmPassword)
            {
                windowService.ShowMessageDialog("Passwords don't match", false);
                return;
            }
            if (!string.IsNullOrEmpty(password.Trim()))
            {
                Settings.IsMasterPasswordSet = true;
                Settings.WindowOpen          = Hashing.EncryptString(password);
                windowService.ShowMessageDialog("Password set.", false);
            }
            else
            {
                Settings.IsMasterPasswordSet = false;
                Settings.WindowOpen          = "";
            }
            SettingsChanging();
            SaveChangesCommand.Execute(null);
        }
示例#3
0
 private void Start()
 {
     if (PlayAreas.Count == 0)
     {
         MessengerInstance.Send(new NoPlayAreaDefinedMessage());
         return;
     }
     if (TeamCount != Teams.Count())
     {
         MessengerInstance.Send(new TeamCountMismatchMessage(Model.Id.Value, Teams.Count, TeamCount));
         return;
     }
     if (HasChanges)
     {
         bool abortStart = true;
         MessengerInstance.Send(new AreYouSureMessage("Ungespeicherte Änderungen", "Es gibt noch ungespeicherte Änderungen.\nDiese müssen gespeichert werden vor dem Start.\nWollen Sie jetzt speichern und fortfahren?", () =>
         {
             abortStart = false;
         }));
         if (abortStart)
         {
             return;
         }
         SaveChangesCommand.Execute(null);
     }
     try
     {
         var resp = App.RestClient.StartWithHttpMessagesAsync(Id);
         resp.ContinueWith(t =>
         {
             Model = resp.Result.Body;
             UpdateFromModel(Model);
         }
                           );
     }
     catch (Exception e)
     {
         if (e.GetType() == typeof(AggregateException) || e.GetType() == typeof(Microsoft.Rest.HttpOperationException))
         {
             MessengerInstance.Send(new CommunicationErrorMessage());
         }
         else
         {
             throw e;
         }
     }
     // Alle Properties => RaisePropertyChanged / Command.CanExecute updaten
 }