예제 #1
0
        void editTrainingPlan(BodyArchitect.Service.Model.TrainingPlans.TrainingPlan plan)
        {
            ControlHelper.RunWithExceptionHandling(delegate
            {
                WorkoutPlanDTO planDto       = (WorkoutPlanDTO)plan.Tag;
                TrainingPlanEditorWindow wnd = new TrainingPlanEditorWindow();
                wnd.Fill(plan);
                if (wnd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                {
                    ParentWindow.RunAsynchronousOperation(delegate
                    {
                        TrainingPlanChecker checker = new TrainingPlanChecker();
                        checker.Process(wnd.TrainingPlan);
                        planDto.SetTrainingPlan(wnd.TrainingPlan);

                        XmlSerializationTrainingPlanFormatter formatter = new XmlSerializationTrainingPlanFormatter();
                        planDto.PlanContent = formatter.ToXml(wnd.TrainingPlan).ToString();

                        planDto.Profile = UserContext.CurrentProfile;
                        ServiceManager.SaveTrainingPlan(planDto);
                        ObjectsReposidory.ClearWorkoutPlansCache();
                        ParentWindow.SynchronizationContext.Send(delegate
                        {
                            Fill();
                        }, null);
                    });
                }
            });
        }
        public static TrainingPlan ToTrainingPlan(this WorkoutPlanDTO plan)
        {
            plan.LoadContent();
            XmlSerializationTrainingPlanFormatter formatter = new XmlSerializationTrainingPlanFormatter();
            var newPlan = formatter.FromXml(plan.PlanContent);

            return(newPlan);
        }
        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);
        }