private void Fill(UserDTO user, DateTime activeMonth)
 {
     isFilled = false;
     if (UserContext.IsConnected && UserContext.LoginStatus == LoginStatus.Logged)
     {
         if (fillCancelSource != null)
         {
             fillCancelSource.Cancel();
             fillCancelSource = null;
         }
         fillCancelSource = ParentWindow.RunAsynchronousOperation(delegate(OperationContext context)
         {
             fillImplementation(activeMonth, user, context);
         }, null, delegate(OperationContext errorContext)
         {
             if (errorContext.CurrentTask.Exception != null)
             {
                 FMMessageBox.ShowError(errorContext.CurrentTask.Exception.GetBaseException().ToString());
             }
         });
     }
     else
     {
         monthCalendar1.ResetDateInfo();
     }
 }
Beispiel #2
0
 public bool ValidateControl()
 {
     if (entry.MyTraining.TrainingEnd == TrainingEnd.NotEnded && !rbPartialCompleted.Checked && !rbCompleted.Checked)
     {
         FMMessageBox.ShowError(A6WEntryStrings.ErrorA6WDayResultMissing);
         return(false);
     }
     if (entry.MyTraining.TrainingEnd == TrainingEnd.NotEnded && rbPartialCompleted.Checked && !usrA6WPartialCompleted1.Validate(entry))
     {
         return(false);
     }
     return(true);
 }
        public void Paste()
        {
            if (Clipboard.ContainsData(Constants.ClipboardFormat) && SelectedDate.HasValue && !IsSelectedDateFuture)
            {
                if (SelectedTrainingDay == null)
                {
                    var day = (TrainingDayDTO)Clipboard.GetData(Constants.ClipboardFormat);
                    PleaseWait.Run(delegate
                    {
                        try
                        {
                            if (day.Id != Constants.UnsavedObjectId)
                            {
                                //user select Cut operation so we should only move this one time (not many time like with Copy operation)
                                WorkoutDayGetOperation operation = new WorkoutDayGetOperation();
                                operation.UserId          = User.Id;
                                operation.Operation       = GetOperation.Current;
                                operation.WorkoutDateTime = day.TrainingDate;
                                day = ServiceManager.GetTrainingDay(operation);
                                ParentWindow.SynchronizationContext.Send(delegate
                                {
                                    Clipboard.Clear();
                                }, null);
                            }

                            day.ChangeDate(SelectedDate.Value);
                            ServiceManager.SaveTrainingDay(day);
                            fillImplementation(day.TrainingDate, User, null);
                            //this.Fill(User, day.TrainingDate);
                        }
                        catch (OldDataException ex)
                        {
                            ExceptionHandler.Default.Process(ex,
                                                             ApplicationStrings.ErrorOldTrainingDay,
                                                             ErrorWindow.MessageBox);
                        }
                        catch (Exception ex)
                        {
                            ExceptionHandler.Default.Process(ex,
                                                             ApplicationStrings.ErrorMoveTrainingDay,
                                                             ErrorWindow.EMailReport);
                        }
                    });
                }
                else
                {
                    FMMessageBox.ShowError(ApplicationStrings.ErrorCannotPaste);
                }
            }
        }
        public void Cut()
        {
            var day = SelectedTrainingDay;

            if (day != null)
            {
                if (day.CanMove)
                {
                    Clipboard.SetData(Constants.ClipboardFormat, day);
                }
                else
                {
                    FMMessageBox.ShowError(ApplicationStrings.ErrorCannotMoveTrainingDayFixedEntries);
                }
            }
        }
 private void tcmbSeries_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (strengthEntry != null)
     {
         int serieCount       = int.Parse(tcmbSeries.SelectedItem.ToString());
         int trainingDayCount = strengthEntry.GetMaximumSeriesCount();
         if (serieCount < strengthEntry.GetMaximumSeriesCount())
         {
             FMMessageBox.ShowError(ApplicationStrings.ErrorSerieColumnCount);
             tcmbSeries.SelectedItem = trainingDayCount.ToString();
             return;
         }
     }
     UserContext.Settings.SerieNumberComboBoxSelectedItem = this.tcmbSeries.SelectedIndex;
     refreshGridLayout(ReadOnly);
 }
Beispiel #6
0
        private void tsStrengthTraining_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            try
            {
                ToolStripDropDownItem     menuItem  = (ToolStripDropDownItem)sender;
                KeyValuePair <Type, Type> pairEntry = (KeyValuePair <Type, Type>)menuItem.Tag;

                EntryObjectInstanceAttribute entryAttribute = new EntryObjectInstanceAttribute();
                var attributes = pairEntry.Key.GetCustomAttributes(typeof(EntryObjectInstanceAttribute), true);
                if (attributes.Length > 0)
                {
                    entryAttribute = (EntryObjectInstanceAttribute)attributes[0];
                }
                //if this type can be only once added then we need to check if we can add it
                if (entryAttribute.Instance == EntryObjectInstance.Single)
                {
                    if (day.ContainsSpecifiedEntry(pairEntry.Key))
                    {
                        FMMessageBox.ShowError(ApplicationStrings.ErrorEntryObjectTypeAlreadyExists);
                        return;
                    }
                }
                var entry = day.CreateEntryObject(pairEntry.Key);

                try
                {
                    createNewEntryControl(entry, true);

                    day.AddEntry(entry);
                    Cursor = Cursors.Default;
                }
                catch (TrainingIntegrationException ex)
                {
                    ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorTrainingIntegrity, ErrorWindow.MessageBox);
                }
                catch (Exception ex)
                {
                    ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorUnhandledException, ErrorWindow.EMailReport);
                }
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }
        private void mnuJoinSuperSet_Click(object sender, EventArgs e)
        {
            TrainingPlanDay day = null;

            foreach (ListViewItem selectedItem in exercisesTrainingPlanListView1.SelectedItems)
            {
                TrainingPlanEntry entry = (TrainingPlanEntry)selectedItem.Tag;
                if (day != null && entry.Day != day)
                {
                    FMMessageBox.ShowError(StrengthTrainingEntryStrings.ErrorCannotCreateSuperSetDifferentDays);
                    return;
                }
                day = entry.Day;
            }

            foreach (ListViewItem selectedItem in exercisesTrainingPlanListView1.SelectedItems)
            {
                TrainingPlanEntry entry = (TrainingPlanEntry)selectedItem.Tag;
                var superSet            = day.GetSuperSet(entry);
                if (superSet != null)
                {
                    superSet.SuperSets.Remove(entry);
                }
            }

            SuperSet newSet = new SuperSet();

            foreach (ListViewItem selectedItem in exercisesTrainingPlanListView1.SelectedItems)
            {
                TrainingPlanEntry entry = (TrainingPlanEntry)selectedItem.Tag;
                newSet.SuperSets.Add(entry);
            }
            day.SuperSets.Add(newSet);

            //clear empty supersets or with only one exercise
            TrainingPlanChecker checker = new TrainingPlanChecker();

            checker.Process(plan);

            exercisesTrainingPlanListView1.Fill(plan);
        }
        public bool Validate(A6WEntryDTO entry)
        {
            A6WDay day = A6WManager.Days[entry.DayNumber - 1];

            if (day.RepetitionNumber < txtSet1.Value)
            {
                FMMessageBox.ShowError(A6WEntryStrings.ErrorSetTooManyRepetitions, 1, entry.DayNumber, day.RepetitionNumber);
                return(false);
            }
            if (day.RepetitionNumber < txtSet2.Value)
            {
                FMMessageBox.ShowError(A6WEntryStrings.ErrorSetTooManyRepetitions, 2, entry.DayNumber, day.RepetitionNumber);
                return(false);
            }
            if (day.RepetitionNumber < txtSet3.Value)
            {
                FMMessageBox.ShowError(A6WEntryStrings.ErrorSetTooManyRepetitions, 3, entry.DayNumber, day.RepetitionNumber);
                return(false);
            }
            return(true);
        }
        private void usrProgressIndicatorButtons1_OkClick(object sender, BodyArchitect.Controls.ProgressIndicator.CancellationSourceEventArgs e)
        {
            data = getMapperDate();
            var wrongList = data.Validate();

            showWrongEntries(wrongList);
            if (wrongList.Count > 0)
            {
                FMMessageBox.ShowError(StrengthTrainingEntryStrings.ExerciseMapper_DuplicatedExercisesError);
                return;
            }
            if (dtaFrom.DateTime != DateTime.MinValue)
            {
                data.StartDate = dtaFrom.DateTime;
            }
            if (dtaTo.DateTime != DateTime.MinValue)
            {
                data.EndDate = dtaTo.DateTime;
            }
            ServiceManager.MapExercises(data);
            ThreadSafeClose();
        }
        public void Copy()
        {
            var day = SelectedTrainingDay;

            if (day != null)
            {
                PleaseWait.Run(delegate
                {
                    WorkoutDayGetOperation operation = new WorkoutDayGetOperation();
                    operation.UserId          = User.Id;
                    operation.Operation       = GetOperation.Current;
                    operation.WorkoutDateTime = day.TrainingDate;
                    day = ServiceManager.GetTrainingDay(operation);
                    day = day.Copy();
                });
                if (day.Objects.Count == 0)
                {
                    FMMessageBox.ShowError(ApplicationStrings.ErrorCannotCopyTrainingDayFixedEntries);
                    return;
                }
                Clipboard.SetData(Constants.ClipboardFormat, day);
            }
        }
        private void monthCalendar1_DayDragDrop(object sender, DayDragDropEventArgs e)
        {
            try
            {
                TrainingDayDTO day = (TrainingDayDTO)e.Data.GetData(typeof(TrainingDayDTO));
                if ((e.KeyState & 8) == 8)
                {
                    //using (var scope = new TransactionScope())
                    //{
                    //    day = TrainingDay.GetById(day.Id);
                    //    var newDay = day.Copy();
                    //    if (newDay.Objects.Count == 0)
                    //    {
                    //        FMMessageBox.ShowError(ApplicationStrings.ErrorCannotCopyTrainingDayFixedEntries);
                    //        return;
                    //    }

                    //    newDay.ChangeDate(e.Date);
                    //    newDay.Save();
                    //    scope.VoteCommit();
                    //}
                    if (day.Id != Constants.UnsavedObjectId)
                    {//user select Cut operation so we should only move this one time (not many time like with Copy operation)
                        WorkoutDayGetOperation operation = new WorkoutDayGetOperation();
                        operation.UserId          = User.Id;
                        operation.Operation       = GetOperation.Current;
                        operation.WorkoutDateTime = day.TrainingDate;
                        day = ServiceManager.GetTrainingDay(operation);
                    }
                    day = day.Copy();
                    day.ChangeDate(e.Date);
                    ServiceManager.SaveTrainingDay(day);
                    this.Fill(User, e.Date);
                }
                else if (FMMessageBox.AskYesNo(ApplicationStrings.QMoveTrainingDay) == DialogResult.Yes)
                {
                    if (day.CanMove)
                    {
                        //using (var scope = new TransactionScope())
                        //{
                        //    day = TrainingDay.GetById(day.Id);
                        //    day.ChangeDate(e.Date);
                        //    day.Save();
                        //    scope.VoteCommit();
                        //}
                        if (day.Id != Constants.UnsavedObjectId)
                        {//user select Cut operation so we should only move this one time (not many time like with Copy operation)
                            WorkoutDayGetOperation operation = new WorkoutDayGetOperation();
                            operation.UserId          = User.Id;
                            operation.Operation       = GetOperation.Current;
                            operation.WorkoutDateTime = day.TrainingDate;
                            day = ServiceManager.GetTrainingDay(operation);
                        }
                        day.ChangeDate(e.Date);
                        ServiceManager.SaveTrainingDay(day);
                        this.Fill(User, e.Date);
                    }
                    else
                    {
                        FMMessageBox.ShowError(ApplicationStrings.ErrorCannotMoveTrainingDayFixedEntries);
                    }
                }
            }
            catch (OldDataException ex)
            {
                ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorOldTrainingDay, ErrorWindow.MessageBox);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorMoveTrainingDay, ErrorWindow.EMailReport);
            }
        }
Beispiel #12
0
 static void Default_ShowMessageBoxWindow(object sender, ErrorEventArgs e)
 {
     FMMessageBox.ShowError(e.DisplayMessage, e.ErrorId);
 }
Beispiel #13
0
        private void doLogin(bool automaticLogin)
        {
            RunAsynchronousOperation(delegate(OperationContext context)
            {
                try
                {
                    var sessionData = UserContext.Login(txtName.Text, txtPassword.Text, chkAutologin.Checked, automaticLogin);
                    if (sessionData == null)
                    {
                        this.SynchronizationContext.Send(delegate
                        {
                            FMMessageBox.ShowError(ApplicationStrings.ErrorAuthenticationWrongCredentials);
                        }, null);

                        return;
                    }
                    loggedSessionData = sessionData;
                    ThreadSafeClose();
                }
                catch (ProfileIsNotActivatedException ex)
                {
                    TasksManager.SetException(ex);
                    this.SynchronizationContext.Send(delegate
                    {
                        lblSendActivationEmail.Visible = true;
                        ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorProfileNotActivated, ErrorWindow.MessageBox);
                    }, null);
                }
                catch (ProfileDeletedException ex)
                {
                    TasksManager.SetException(ex);
                    this.SynchronizationContext.Send(delegate
                    {
                        ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorCannotLoginToDeletedProfile, ErrorWindow.MessageBox);
                    }, null);
                }
                catch (EndpointNotFoundException ex)
                {
                    TasksManager.SetException(ex);
                    SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorConnectionProblem, ErrorWindow.MessageBox), null);
                }
                catch (TimeoutException ex)
                {
                    TasksManager.SetException(ex);
                    SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorConnectionProblem, ErrorWindow.MessageBox), null);
                }
                catch (MaintenanceException ex)
                {
                    TasksManager.SetException(ex);
                    SynchronizationContext.Send(state => ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorMaintenanceMode, ErrorWindow.MessageBox), null);
                }
                catch (DatabaseVersionException ex)
                {
                    TasksManager.SetException(ex);
                    this.SynchronizationContext.Send(delegate
                    {
                        lblForceUpdate.Visible = true;
                        ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorOldVersionOfBodyArchitect, ErrorWindow.MessageBox);
                    }, null);
                }
                catch (Exception ex)
                {
                    TasksManager.SetException(ex);
                    this.SynchronizationContext.Send(delegate
                    {
                        ExceptionHandler.Default.Process(ex, ApplicationStrings.ErrorUnhandledException, ErrorWindow.MessageBox);
                    }, null);
                }
            }, AsyncOperationStateChange);
        }