private void usrProgressIndicatorButtons_OkClick(object sender, Controls.CancellationSourceEventArgs e)
        {
            try
            {
                UserContext.Current.Logout(LoginStatus.InProgress);
                ProfileDTO newProfile = usrCreateProfile1.Profile;
                bool       res        = false;
                this.SynchronizationContext.Send(delegate
                {
                    res = usrCreateProfile1.SaveProfile(newProfile);

                    var validator = new ObjectValidator(typeof(ProfileDTO));
                    var result    = validator.Validate(newProfile);

                    if (!result.IsValid)
                    {
                        BAMessageBox.ShowValidationError(result.ToBAResults());
                        res = false;
                    }
                }, null);
                if (!res)
                {
                    return;
                }

                newProfile.Privacy.CalendarView = Privacy.Public;
                newProfile.Privacy.Sizes        = Privacy.Public;
                var sessionData = ServiceManager.CreateProfile(newProfile);
                if (sessionData != null)
                {
                    UserContext.CreateUserContext(sessionData);
                    CreatedSessionData = sessionData;
                }
                ThreadSafeClose(true);
            }
            catch (EMailSendException ex)
            {
                TasksManager.SetException(ex);
                this.SynchronizationContext.Send(delegate
                {
                    ExceptionHandler.Default.Process(ex, Strings.ErrProblemWithSendingEmail, ErrorWindow.MessageBox);
                }, null);
            }
            catch (ValidationException validException)
            {
                TasksManager.SetException(validException);
                this.SynchronizationContext.Send(delegate
                {
                    BAMessageBox.ShowValidationError(validException.Results);
                }, null);
            }
            catch (UniqueException uniqueEx)
            {
                TasksManager.SetException(uniqueEx);
                this.SynchronizationContext.Send(delegate
                {
                    ExceptionHandler.Default.Process(uniqueEx, Strings.ErrorCreateProfileUnique, ErrorWindow.MessageBox);
                }, null);
            }
        }
Exemplo n.º 2
0
 public static bool RunWithExceptionHandling(Action action, Dispatcher dispatcher = null)
 {
     try
     {
         action();
         return(true);
     }
     catch (OperationCanceledException)
     {
     }
     catch (OldDataException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorOldDataModification, ErrorWindow.MessageBox), dispatcher);
     }
     catch (ProfileDeletedException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorCurrentProfileDeleted, ErrorWindow.MessageBox), dispatcher);
         UserContext.Current.Logout(resetAutologon: false, skipLogoutOnServer: true);
     }
     catch (UserDeletedException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorProfileDeleted, ErrorWindow.MessageBox), dispatcher);
     }
     catch (ValidationException ex)
     {
         Invoke(() => BAMessageBox.ShowValidationError(ex.Results), dispatcher);
     }
     catch (EndpointNotFoundException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorConnectionProblem, ErrorWindow.MessageBox), dispatcher);
         UserContext.Current.Logout(resetAutologon: false, skipLogoutOnServer: true);
     }
     catch (LicenceException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorLicence, ErrorWindow.MessageBox), dispatcher);
     }
     catch (TimeoutException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorConnectionProblem, ErrorWindow.MessageBox), dispatcher);
         UserContext.Current.Logout(resetAutologon: false, skipLogoutOnServer: true);
     }
     catch (DatabaseVersionException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorOldVersionOfBodyArchitect, ErrorWindow.MessageBox), dispatcher);
         UserContext.Current.Logout(resetAutologon: false, skipLogoutOnServer: true);
     }
     catch (MaintenanceException ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, Strings.ErrorMaintenanceMode, ErrorWindow.MessageBox), dispatcher);
     }
     catch (Exception ex)
     {
         Invoke(() => ExceptionHandler.Default.Process(ex, ex.Message, ErrorWindow.EMailReport), dispatcher);
     }
     return(false);
 }
Exemplo n.º 3
0
 static void Default_ShowMessageBoxWindow(object sender, ErrorEventArgs e)
 {
     if (e.Exception is ValidationException)
     {
         BAMessageBox.ShowValidationError(((ValidationException)e.Exception).Results);
     }
     else
     {
         BAMessageBox.ShowError(e.DisplayMessage, e.ErrorId);
     }
 }
Exemplo n.º 4
0
 private void usrProgressIndicatorButtons1_OkClick(object sender, CancellationSourceEventArgs e)
 {
     try
     {
         ServiceManager.SendMessage(message);
         ThreadSafeClose(true);
     }
     catch (ValidationException validException)
     {
         TasksManager.SetException(validException);
         this.SynchronizationContext.Send(delegate
         {
             BAMessageBox.ShowValidationError(validException.Results);
         }, null);
     }
 }
        public void Save()
        {
            if (!UIHelper.EnsureInstructorLicence())
            {
                return;
            }
            SaveScheduleEntryRangeParam param = createSaveParam();

            parentView.RunAsynchronousOperation(delegate
            {
                try
                {
                    var items       = ServiceManager.SaveScheduleEntriesRange(param).ToList();
                    originalEntries = items.StandardClone().ToArray();
                    //refresh reminders
                    ReminderItemsReposidory.Instance.ClearCache();
                    ChampionshipsReposidory.Instance.Reset();
                    parentView.SynchronizationContext.Send(delegate
                    {
                        fillAppointments(items);
                        IsModified = false;
                    }, null);
                }
                catch (ValidationException ex)
                {
                    parentView.SynchronizationContext.Send(state => BAMessageBox.ShowValidationError(ex.Results), null);
                }
                catch (AlreadyOccupiedException ex)
                {
                    parentView.SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, "AlreadyOccupiedException_ScheduleEntriesDesignViewModel_Save".TranslateInstructor(), ErrorWindow.MessageBox), null);
                }
                catch (LicenceException ex)
                {
                    parentView.SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, "ErrInstructorAccountRequired".TranslateInstructor(), ErrorWindow.MessageBox), null);
                }
                catch (DeleteConstraintException ex)
                {
                    parentView.SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, "DeleteConstraintException_ScheduleEntriesDesignViewModel_Save".TranslateInstructor(), ErrorWindow.MessageBox), null);
                }
                catch (Exception ex)
                {
                    parentView.SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, "Exception_ScheduleEntriesDesignViewModel_Save".TranslateInstructor(), ErrorWindow.EMailReport), null);
                }
            });
        }
Exemplo n.º 6
0
        private bool ensurePlanCorrect(TrainingPlan plan)
        {
            var validator = new ObjectValidator(typeof(TrainingPlan));
            var result1   = validator.Validate(plan);

            if (!result1.IsValid)
            {
                var errorElement = epError.GetFirstInvalidElement();
                if (errorElement != null)
                {
                    errorElement.Focus();
                }

                BAMessageBox.ShowValidationError(result1.ToBAResults());
                return(false);
            }
            return(true);
        }
Exemplo n.º 7
0
        private void okButton1_Click(object sender, CancellationSourceEventArgs e)
        {
            //if (!ValidateChildren())
            //{
            //    return;
            //}
            try
            {
                ProfileDTO savedProfile = usrProfileEdit1.SaveProfile();

                if (savedProfile != null)
                {
                    UserContext.Current.SessionData.FillProfileData(savedProfile);
                    UserContext.Current.RefreshUserData();
                    ThreadSafeClose(true);
                }
            }
            catch (ValidationException validException)
            {
                UIHelper.BeginInvoke(new Action(delegate
                {
                    BAMessageBox.ShowValidationError(validException.Results);
                }), Dispatcher);
            }
            catch (OldDataException validException)
            {
                UIHelper.BeginInvoke(new Action(delegate
                {
                    ExceptionHandler.Default.Process(validException, Strings.ErrorOldDataModification, ErrorWindow.MessageBox);
                }), Dispatcher);
            }
            catch (UniqueException uniqueEx)
            {
                UIHelper.BeginInvoke(() => ExceptionHandler.Default.Process(uniqueEx, Strings.ErrorCreateProfileUnique, ErrorWindow.MessageBox), Dispatcher);
            }
            catch (Exception ex)
            {
                UIHelper.BeginInvoke(new Action(delegate
                {
                    ExceptionHandler.Default.Process(ex, Strings.ErrorCreateProfile, ErrorWindow.EMailReport);
                }), Dispatcher);
            }
        }
        public void Save()
        {
            var validator = new ObjectValidator(typeof(SupplementCycleDefinitionDTO));

            if (definition.Profile == null)
            {
                definition.Profile = UserContext.Current.CurrentProfile;
            }
            var result = validator.Validate(definition);

            if (!result.IsValid)
            {
                BAMessageBox.ShowValidationError(result.ToBAResults());
                return;
            }
            parentView.RunAsynchronousOperation(delegate
            {
                try
                {
                    context.CycleDefinition = ServiceManager.SaveSupplementsCycleDefinition(definition);
                    //todo:add here clone of saved definition to the cache
                    SupplementsCycleDefinitionsReposidory.Instance.Update(context.CycleDefinition.StandardClone());
                    parentView.SynchronizationContext.Send(delegate
                    {
                        Fill(parentView, context);
                        IsModified = false;
                    }, null);
                }
                catch (ValidationException ex)
                {
                    parentView.SynchronizationContext.Send(state => BAMessageBox.ShowValidationError(ex.Results), null);
                }
                catch (Exception ex)
                {
                    parentView.SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, SuplementsEntryStrings.Exception_SupplementsCycleDefinitionEditorViewModel_Save, ErrorWindow.EMailReport), null);
                }
            }, v =>
            {
                updateButtons(v.State == OperationState.Started);
            });
        }