Beispiel #1
0
 private void lsItems_ListReordered(object sender, ListReorderedEventArgs e)
 {
     Entry.Entries.RemoveAt(e.FromIndex);
     Entry.Entries.Insert(e.ToIndex, ((StrengthTrainingItemViewModel)e.Object).Item);
     StrengthWorkoutViewModel.ResetPositions(Entry);
     _viewModel.Refresh();
 }
Beispiel #2
0
        private void mnuUserExercise_Click(object sender, RoutedEventArgs e)
        {
            var item = (StrengthTrainingItemViewModel)(sender as FrameworkElement).DataContext;

            List <StrengthTrainingItemDTO> itemsToCopy = new List <StrengthTrainingItemDTO>();

            if (Settings.TreatSuperSetsAsOne && !string.IsNullOrEmpty(item.Item.SuperSetGroup))
            {//if we should treat superset as one then when we copy one exercise which is a part of superset then we should copy all of them
                itemsToCopy.AddRange(item.Item.StrengthTrainingEntry.Entries.Where(x => x.SuperSetGroup == item.Item.SuperSetGroup).OrderBy(x => x.Position));
            }
            else
            {
                itemsToCopy.Add(item.Item);
            }

            foreach (var itemDto in itemsToCopy)
            {
                var             newItem = itemDto.Copy(true);
                TrainingBuilder builder = new TrainingBuilder();
                builder.PrepareCopiedStrengthTraining(newItem, Settings.CopyStrengthTrainingMode);
                builder.SetPreviewSets(itemDto, newItem);
                Entry.AddEntry(newItem);
            }
            //_viewModel.AddExercise(item.Item.Exercise);

            lblNoExercises.Visibility = Entry.Entries.Count == 0? System.Windows.Visibility.Visible: System.Windows.Visibility.Collapsed;

            StrengthWorkoutViewModel.ResetPositions(Entry);
            show(true);
            pivot.SelectedIndex = 0;
        }
Beispiel #3
0
        protected override void copyAllImplementation(EntryObjectDTO oldEntry)
        {
            if (oldEntry != null)
            {
                //var copyDay = oldDay.TrainingDay.StrengthWorkout.Copy(true);

                //PrepareCopiedEntry(oldDay.TrainingDay.StrengthWorkout,copyDay);


                var itemsToCopy = lstOldItems.SelectedItems.Cast <StrengthTrainingItemViewModel>().Select(x => x.Item).ToList();

                var strength    = Entry;
                var oldStrength = (StrengthTrainingEntryDTO)oldEntry;

                copyStrengthTrainingProperties(strength, oldStrength);

                TrainingBuilder builder = new TrainingBuilder();
                foreach (var itemDto in itemsToCopy)
                {
                    var newItem = itemDto.Copy(true);

                    builder.PrepareCopiedStrengthTraining(newItem, Settings.CopyStrengthTrainingMode);
                    if (Settings.CopyStrengthTrainingMode != CopyStrengthTrainingMode.OnlyExercises)
                    {
                        builder.SetPreviewSets(itemDto, newItem);
                    }
                    strength.AddEntry(newItem);
                }
                builder.CleanSingleSupersets(Entry);

                StrengthWorkoutViewModel.ResetPositions(Entry);
                show(true);

                lblNoExercises.Visibility = Entry.Entries.Count == 0? System.Windows.Visibility.Visible: System.Windows.Visibility.Collapsed;
            }
        }
Beispiel #4
0
        protected override void show(bool reload)
        {
            //if (ApplicationState.Current.TrainingDay.TrainingDay.StrengthWorkout == null)
            //{
            //    StrengthTrainingEntryDTO entry = new StrengthTrainingEntryDTO();
            //    entry.StartTime = DateTime.Now;
            //    ApplicationState.Current.TrainingDay.TrainingDay.Objects.Add(entry);
            //    entry.TrainingDay = ApplicationState.Current.TrainingDay.TrainingDay;
            //}
            _viewModel = new StrengthWorkoutViewModel(Entry);
            Connect(pivot, headerOldTrainingDate, _viewModel.ShowOldTraining, lstOldItems);
            DataContext             = _viewModel;
            headerTrainingDate.Text = _viewModel.TrainingDate;

            StrengthTrainingItemViewModel itemToScroll = null;

            if (SelectedExercise != null)
            {//adding a new exercise
                itemToScroll     = _viewModel.AddExercise(SelectedExercise);
                SelectedExercise = null;
            }
            if (itemToScroll != null)
            {
                lsItems.UpdateLayout();
                lsItems.ScrollIntoView(itemToScroll);
            }
            //if (ApplicationState.Current.ExercisesReposidory.ExerciseLoaded || ApplicationState.Current.TrainingDay.StrengthWorkout.Entries.Count == 0)
            //{

            //}
            //else
            //{
            //    progressBar.ShowProgress(true, ApplicationStrings.StrengthWorkoutPage_ProgressRetrieveExercises);
            //    ApplicationState.Current.ExercisesReposidory.LoadedExercises += (s, a) =>
            //    {
            //        if (ApplicationState.Current.TrainingDay != null)
            //        {
            //            if (ApplicationState.Current.ExercisesReposidory.ExerciseLoaded)
            //            {
            //                _viewModel =
            //                    new StrengthWorkoutViewModel(ApplicationState.Current.TrainingDay.StrengthWorkout);
            //                DataContext = _viewModel;
            //                headerTrainingDate.Text = _viewModel.TrainingDate;
            //            }
            //            else
            //            {
            //                BAMessageBox.ShowError(ApplicationStrings.ExerciseTypeViewModel_ErrRetrieveExercises);
            //            }
            //        }
            //        progressBar.ShowProgress(false);
            //    };
            //    ApplicationState.Current.ExercisesReposidory.LoadExercises();
            //}

            if (ReadOnly && pivot.Items.Count == 3)
            {//remove preview tab when we looking at other user trainings or we are in read only mode
                pivot.Items.RemoveAt(2);
            }

            tsEntryStatus.Visibility = Entry.Status != EntryObjectStatus.System
                                           ? System.Windows.Visibility.Visible
                                           : System.Windows.Visibility.Collapsed;
            lblNoExercises.Visibility = Entry.Entries.Count == 0
                                            ? System.Windows.Visibility.Visible
                                            : System.Windows.Visibility.Collapsed;
        }