private string[] getNameAndType(TrainingPlanBase planBase)
        {
            TrainingPlan      plan  = planBase as TrainingPlan;
            TrainingPlanEntry entry = planBase as TrainingPlanEntry;
            TrainingPlanDay   day   = planBase as TrainingPlanDay;
            TrainingPlanSerie set   = planBase as TrainingPlanSerie;

            if (plan != null)
            {
                return(new string[] { plan.Name, LocalizedPropertyGridStrings.TrainingPlan_Object });
            }
            else if (entry != null)
            {
                return(new string[] { ObjectsReposidory.GetExercise(entry.ExerciseId).GetLocalizedName(), LocalizedPropertyGridStrings.TrainingPlanDayEntry_Object });
            }
            if (day != null)
            {
                return(new string[] { day.Name, LocalizedPropertyGridStrings.TrainingPlanDay_Object });
            }
            if (set != null)
            {
                return(new string[] { set.ToString(), LocalizedPropertyGridStrings.TrainingPlanSerie_Object });
            }
            return(null);
        }
예제 #2
0
        TrainingPlan getTrainingPlanCardioWithSets()
        {
            TrainingPlan fbw = new TrainingPlan();

            fbw.GlobalId     = Guid.NewGuid();
            fbw.Name         = "Test training plan";
            fbw.TrainingType = TrainingType.FBW;
            TrainingPlanDay planA = new TrainingPlanDay();

            planA.Name     = "Plan A";
            planA.GlobalId = Guid.NewGuid();
            fbw.Comment    = @"15: 60%CR*15/ 80%CR*15/ 100%CR*12-15p

10: 60%CR*10/ 80%CR*10/ 90%CR*3-5/ 100%CR*7-10p

5: 60%CR*5/ 70%CR*2-5/ 80%CR*5/ 90%CR*1-2/ 100%CR*2-5powt 
";
            fbw.AddDay(planA);
            TrainingPlanEntry entry1 = new TrainingPlanEntry();

            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("F0AB1656-B94D-4665-9AC9-F02F100F6E8C"), ExerciseType = ExerciseType.Cardio
            };
            entry1.GlobalId = Guid.NewGuid();
            entry1.Sets.Add(new TrainingPlanSerie(12, 0));
            entry1.Sets.Add(new TrainingPlanSerie(10));
            entry1.Sets.Add(new TrainingPlanSerie(8));
            planA.AddEntry(entry1);
            return(fbw);
        }
예제 #3
0
        private void fillNameAndType(BAGlobalObject planBase, OutputItem checkItem)
        {
            TrainingPlan      plan  = planBase as TrainingPlan;
            TrainingPlanEntry entry = planBase as TrainingPlanEntry;
            TrainingPlanDay   day   = planBase as TrainingPlanDay;
            TrainingPlanSerie set   = planBase as TrainingPlanSerie;

            checkItem.Item = planBase;

            if (plan != null)
            {
                checkItem.Object = plan.Name;
                checkItem.Type   = StrengthTrainingEntryStrings.TrainingPlan_Object;
            }
            else if (entry != null)
            {
                checkItem.Object = entry.Exercise != null?entry.Exercise.GetLocalizedName() : "";

                checkItem.Type = StrengthTrainingEntryStrings.TrainingPlanDayEntry_Object;
            }
            if (day != null)
            {
                checkItem.Object = day.Name;
                checkItem.Type   = StrengthTrainingEntryStrings.TrainingPlanDay_Object;
            }
            if (set != null)
            {
                checkItem.Object = set.ToString();
                checkItem.Type   = StrengthTrainingEntryStrings.TrainingPlanSerie_Object;
            }
        }
        private TreeNode addTrainingPlanEntryNode(TrainingPlanEntry entry)
        {
            var      exercise  = ObjectsReposidory.GetExercise(entry.ExerciseId);
            TreeNode entryNode = new TreeNode(exercise.GetLocalizedName());

            entryNode.ImageKey = entryNode.SelectedImageKey = getTrainingPlanEntryIcon(entry);
            entryNode.Tag      = entry;
            return(entryNode);
        }
 internal void ProsessTrainingPlan(TrainingPlanEntry planEntry)
 {
     for (int j = 0; j < planEntry.Sets.Count; j++)
     {
         var setViewModel = GetSetViewModel(j);
         if (setViewModel != null)
         {
             setViewModel.IsFromPlan = parent.ShowPlanItems && setViewModel.Set != null;
         }
     }
 }
        public void AddEntry(TrainingPlanDayViewModel day)
        {
            TrainingPlanEntry entry = new TrainingPlanEntry();
            var viewModel           = new TrainingPlanEntryViewModel(day, entry);

            viewModel.Header = StrengthTrainingEntryStrings.SelectExercise;
            day.Entries.Add(viewModel);
            day.Day.AddEntry(entry);
            day.IsExpanded       = true;
            viewModel.IsSelected = true;
            SetModifiedFlag();
        }
 public TrainingPlanEntryViewModel(TrainingPlanDayViewModel parentDay, TrainingPlanEntry entry)
 {
     this.parentDay = parentDay;
     this.entry     = entry;
     Sets           = new ObservableCollection <TrainingPlanSetViewModel>();
     Image          = "pack://application:,,,/BodyArchitect.Client.Module.StrengthTraining;component/Images/TrainingPlanEntry.png";
     foreach (var set in entry.Sets)
     {
         Sets.Add(new TrainingPlanSetViewModel(this, set));
     }
     Update();
 }
 bool containsSuperSet()
 {
     foreach (ListViewItem selectedItem in exercisesTrainingPlanListView1.SelectedItems)
     {
         TrainingPlanEntry entry = (TrainingPlanEntry)selectedItem.Tag;
         var superSet            = entry.Day.GetSuperSet(entry);
         if (superSet != null)
         {
             return(true);
         }
     }
     return(false);
 }
        string getTrainingPlanEntryIcon(TrainingPlanEntry entry)
        {
            var exercise = ObjectsReposidory.GetExercise(entry.ExerciseId);

            if (exercise != ExerciseDTO.Removed)
            {
                return("TrainingPlanEntry");
            }
            else
            {
                return("TrainingPlanEntryError");
            }
        }
        private void tbNewEntry_Click(object sender, EventArgs e)
        {
            var day = getSelected <TrainingPlanDay>();

            if (day != null)
            {
                TrainingPlanEntry newEntry  = new TrainingPlanEntry();
                TreeNode          entryNode = addTrainingPlanEntryNode(newEntry);
                entryNode.Text = StrengthTrainingEntryStrings.SelectExercise;
                day.AddEntry(newEntry);
                tvDetails.SelectedNode.Nodes.Add(entryNode);
                tvDetails.SelectedNode = entryNode;
            }
        }
        public void Fill(TrainingPlanEntry entry)
        {
            this.entry = entry;
            if (entry != null)
            {
                exerciseLookUp1.EditValue = entry.ExerciseId;

                txtRestSeconds.Value = entry.RestSeconds;
                if (entry.Comment != null)
                {
                    entry.Comment = entry.Comment.Replace("\n", "\r\n");
                }
                txtComment.Text = entry.Comment;
            }
        }
예제 #12
0
 public void ApplyColorScheme(GridRow row, TrainingPlanEntry planEntry)
 {
     for (int j = 0; j < planEntry.Sets.Count; j++)
     {
         Cell cell  = (Cell)row.Grid.GetCell(row.Index, usrStrengthTrainingSourceGridBase.StandardColumnNumber + j);
         var  serie = cell.Tag as SerieDTO;
         if (serie != null)
         {
             cell.View.BackColor = Color.LightGoldenrodYellow;
         }
         else
         {
             cell.View.BackColor = Color.LightPink;
         }
     }
 }
        private void btnJoin_Click(object sender, RoutedEventArgs e)
        {
            TrainingPlanDay day = null;

            foreach (TrainingPlanSetEditorItemViewModel selectedItem in lvExercises.SelectedItems)
            {
                TrainingPlanEntry entry = selectedItem.Entry;
                if (day != null && entry.Day != day)
                {
                    BAMessageBox.ShowError(StrengthTrainingEntryStrings.ErrorCannotCreateSuperSetDifferentDays);
                    return;
                }
                day = entry.Day;
            }

            //foreach (TrainingPlanSetEditorItemViewModel selectedItem in lvExercises.SelectedItems)
            //{
            //    TrainingPlanEntry entry = selectedItem.Entry;
            //    var superSet = day.GetSuperSet(entry);
            //    if (superSet != null)
            //    {
            //        superSet.SuperSets.Remove(entry);
            //    }
            //}
            var superSetGroup   = Guid.NewGuid();//TODO:Change this to some better name (at least in display)
            var selectedEntries = lvExercises.SelectedItems.Cast <TrainingPlanSetEditorItemViewModel>().Select(x => x.Entry);

            foreach (var trainingPlanEntry in selectedEntries)
            {
                trainingPlanEntry.GroupName = superSetGroup.ToString();
            }

            //SuperSet newSet = new SuperSet();
            //foreach (TrainingPlanSetEditorItemViewModel selectedItem in lvExercises.SelectedItems)
            //{
            //    TrainingPlanEntry entry = selectedItem.Entry;
            //    newSet.SuperSets.Add(entry);
            //}
            //day.SuperSets.Add(newSet);

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

            checker.Process(plan);

            Fill(plan);
        }
        private void mnuRemoveSuperSet_Click(object sender, EventArgs e)
        {
            foreach (ListViewItem selectedItem in exercisesTrainingPlanListView1.SelectedItems)
            {
                TrainingPlanEntry entry = (TrainingPlanEntry)selectedItem.Tag;
                var superSet            = entry.Day.GetSuperSet(entry);
                if (superSet != null)
                {
                    superSet.SuperSets.Remove(entry);
                }
            }

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

            checker.Process(plan);
            exercisesTrainingPlanListView1.Fill(plan);
        }
        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);
        }
        private TrainingPlan createPlan(Profile profile1, string name, PublishStatus status, TrainingPlanDifficult difficult, TrainingType type, params Exercise[] exercises)
        {
            var plan = new BodyArchitect.Service.Model.TrainingPlans.TrainingPlan();

            var workoutPlan = new TrainingPlan();

            workoutPlan.GlobalId = Guid.NewGuid();
            workoutPlan.Language = "en";
            workoutPlan.Profile  = profile1;
            workoutPlan.Name     = plan.Name = name;
            plan.TrainingType    = (Service.Model.TrainingPlans.TrainingType)(workoutPlan.TrainingType = type);
            plan.Difficult       = (Service.Model.TrainingPlans.TrainingPlanDifficult)(workoutPlan.Difficult = difficult);
            workoutPlan.Author   = plan.Author = "test";

            workoutPlan.Status = status;
            if (status == PublishStatus.Published)
            {
                workoutPlan.PublishDate = DateTime.UtcNow;
            }
            TrainingPlanDay day = new TrainingPlanDay();

            day.Name = "day";
            plan.AddDay(day);
            plan.Language = workoutPlan.Language;
            foreach (var exercise in exercises)
            {
                TrainingPlanEntry entry = new TrainingPlanEntry();
                entry.ExerciseId = exercise.GlobalId;
                day.AddEntry(entry);
            }

            XmlSerializationTrainingPlanFormatter formatter = new XmlSerializationTrainingPlanFormatter();

            workoutPlan.PlanContent = formatter.ToXml(plan).ToString();

            Session.Save(workoutPlan);
            workoutPlan.Tag = Mapper.Map <TrainingPlan, WorkoutPlanDTO>(workoutPlan);
            return(workoutPlan);
        }
예제 #17
0
        TrainingPlan getTrainingPlanWithSets()
        {
            TrainingPlan fbw = new TrainingPlan();

            fbw.GlobalId     = Guid.NewGuid();
            fbw.Name         = "Test training plan";
            fbw.TrainingType = TrainingType.FBW;
            TrainingPlanDay planA = new TrainingPlanDay();

            planA.Name     = "Plan A";
            planA.GlobalId = Guid.NewGuid();
            fbw.Comment    = @"15: 60%CR*15/ 80%CR*15/ 100%CR*12-15p

10: 60%CR*10/ 80%CR*10/ 90%CR*3-5/ 100%CR*7-10p

5: 60%CR*5/ 70%CR*2-5/ 80%CR*5/ 90%CR*1-2/ 100%CR*2-5powt 
";
            fbw.AddDay(planA);
            TrainingPlanEntry entry1 = new TrainingPlanEntry();

            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("F0AB1656-B94D-4665-9AC9-F02F100F6E8C")
            };
            entry1.GlobalId = Guid.NewGuid();
            entry1.Sets.Add(new TrainingPlanSerie(12));
            entry1.Sets.Add(new TrainingPlanSerie(10));
            entry1.Sets.Add(new TrainingPlanSerie(8));
            planA.AddEntry(entry1);

            entry1          = new TrainingPlanEntry();
            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("3E06A130-B811-4E45-9285-F087403615BF")
            };
            entry1.GlobalId = Guid.NewGuid();
            entry1.Sets.Add(new TrainingPlanSerie(10));
            planA.AddEntry(entry1);

            entry1          = new TrainingPlanEntry();
            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("AF9624D9-1051-4FAA-88BE-063099412021")
            };
            entry1.GlobalId = Guid.NewGuid();
            entry1.Sets.Add(new TrainingPlanSerie(12));
            entry1.Sets.Add(new TrainingPlanSerie(12));
            entry1.Sets.Add(new TrainingPlanSerie(10));
            entry1.Sets.Add(new TrainingPlanSerie(10));
            planA.AddEntry(entry1);

            entry1          = new TrainingPlanEntry();
            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("C9219C4B-D3F3-4846-80B4-D1A88C60C236")
            };
            entry1.GlobalId = Guid.NewGuid();
            planA.AddEntry(entry1);

            entry1          = new TrainingPlanEntry();
            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("8FDFEC0A-98DF-4542-8167-CA35D3586370")
            };
            entry1.GlobalId = Guid.NewGuid();
            planA.AddEntry(entry1);

            TrainingPlanDay planB = new TrainingPlanDay();

            planB.GlobalId = Guid.NewGuid();
            planB.Name     = "Plan B";

            entry1          = new TrainingPlanEntry();
            entry1.Exercise = new ExerciseLightDTO()
            {
                GlobalId = new Guid("8FDFEC0A-98DF-4542-8167-CA35D3586370")
            };
            entry1.GlobalId = Guid.NewGuid();
            planB.AddEntry(entry1);
            fbw.AddDay(planB);
            return(fbw);
        }
예제 #18
0
 public TrainingPlanSetViewModel(TrainingPlanSerie set, TrainingPlanEntry entry)
 {
     this.set   = set;
     this.entry = entry;
 }
 public TrainingPlanEntryViewModel(TrainingPlanEntry entry)
 {
     this.entry = entry;
 }
예제 #20
0
 public TrainingPlanSetEditorItemViewModel(TrainingPlanEntry planEntry)
 {
     this.planEntry = planEntry;
     exercise       = planEntry.Exercise;
 }