Esempio n. 1
0
 public int UpdateTrainingPlan(TrainingPlan trainingPlan)
 {
     lock (locker)
     {
         return(database.Update(trainingPlan));
     }
 }
Esempio n. 2
0
        public void Fill(TrainingPlan plan, bool publish)
        {
            this.plan = plan;
            Publish   = publish;

            if (Publish)
            {
                //TODO:Translate (add info about 30 strength training entries)
                lblDescription.Text = StrengthTrainingEntryStrings.PublishWorkoutPlanWindow_PublishDescription;
                BitmapImage img = "Publish.png".ToResourceUrl().ToBitmap();
                this.usrProgressIndicatorButtons1.OkButton.SetValue(ImageButtonExt.ImageProperty, img);
                imgAddToFavorites.Visibility = Visibility.Collapsed;
                imgPublish.Visibility        = Visibility.Visible;
                usrProgressIndicatorButtons1.OkButton.Content = Strings.PublishButton;
            }
            else
            {
                lblDescription.Text = StrengthTrainingEntryStrings.PublishWorkoutPlanWindow_AddToFavoritesDescription;
                Title = StrengthTrainingEntryStrings.PublishWorkoutPlanWindow_AddToFavorites_Text;
                imgAddToFavorites.Visibility = Visibility.Visible;
                imgPublish.Visibility        = Visibility.Collapsed;
                BitmapImage img = "AddToFavorites16.png".ToResourceUrl().ToBitmap();
                this.usrProgressIndicatorButtons1.OkButton.SetValue(ImageButtonExt.ImageProperty, img);

                usrProgressIndicatorButtons1.OkButton.Content = Strings.AddButton;
            }
        }
        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);
        }
Esempio n. 4
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;
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] TrainingPlan trainingPlan)
        {
            if (id != trainingPlan.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(trainingPlan);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TrainingPlanExists(trainingPlan.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(trainingPlan));
        }
        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);
        }
Esempio n. 7
0
        public static bool IsFavorite(this TrainingPlan plan)
        {
            WorkoutPlansReposidory.Instance.EnsureLoaded();
            var res = (from e in WorkoutPlansReposidory.Instance.Items.Values where e.GlobalId == plan.GlobalId && e.Profile != null && !e.IsMine() select e).Count();

            return(res > 0);
        }
         static void Main(string[] args)
         {
 
             var db = new Db3();
 
             var a = new Athlete { Name = "a6"};
             var w = new Workout { Name = "w6", Athlete = a };
             var t = new TrainingPlan { Name = "t6", Athlete = a };
             db.Athletes.Add(a);
             db.Workouts.Add(w);
             db.TrainingPlans.Add(t);
             db.SaveChanges();
 
             var wtp = new TrainingToPerform { TrainingPlan = t, Workout = w, DateToPerform = DateTime.Now };
 
             w.TrainingsToPerform.Add(wtp);
             t.TrainingsToPerform.Add(wtp);
 
 
             db.TrainingsToPerform.Add(wtp);
 
             db.SaveChanges();
 
             Console.WriteLine(db.TrainingsToPerform.First().Workout.Name);
 
         } 
Esempio n. 9
0
        public static TrainingPlan CreatePlan(ISession session, Profile profile1, string name, TrainingPlanDifficult difficult = TrainingPlanDifficult.Beginner, TrainingType type = TrainingType.Split, bool isPublished = true, string language = "en", WorkoutPlanPurpose purpose = WorkoutPlanPurpose.Mass, int days = 2)
        {
            var workoutPlan = new TrainingPlan();

            workoutPlan.GlobalId     = Guid.NewGuid();
            workoutPlan.Profile      = profile1;
            workoutPlan.Name         = name;
            workoutPlan.Purpose      = purpose;
            workoutPlan.Language     = language;
            workoutPlan.TrainingType = type;
            workoutPlan.Difficult    = difficult;
            workoutPlan.Author       = "test";
            workoutPlan.Status       = isPublished ? PublishStatus.Published : PublishStatus.Private;
            if (isPublished)
            {
                workoutPlan.PublishDate = DateTime.UtcNow;
            }
            for (int i = 0; i < days; i++)
            {
                var day = new TrainingPlanDay();
                day.Name = "Day" + i;
                workoutPlan.Days.Add(day);
                day.TrainingPlan = workoutPlan;
            }
            session.Save(workoutPlan);
            session.Flush();
            workoutPlan.Tag = Mapper.Map <TrainingPlan, Service.V2.Model.TrainingPlans.TrainingPlan>(workoutPlan);
            return(workoutPlan);
        }
Esempio n. 10
0
        //public static TrainingPlan ToTrainingPlan(this TrainingPlanInfo plan)
        //{
        //    plan.LoadContent();
        //    return (TrainingPlan) plan.Tag;
        //}

        public static void Open(this TrainingPlan plan)
        {
            MainWindow.Instance.ShowPage(new Uri("pack://application:,,,/BodyArchitect.Client.UI;component/Views/HtmlPreviewView.xaml"), () =>
            {
                return(new HtmlPreviewPageContext(new TrainingPlanHtmlExporter(plan)));
            }, true);
        }
Esempio n. 11
0
 // TODO: correct insert
 public int SaveTrainingPlan(TrainingPlan trpPlan)
 {
     lock (locker)
     {
         return(database.Insert(trpPlan));
     }
 }
Esempio n. 12
0
        public async Task <IActionResult> PutTrainingPlan([FromRoute] int id, [FromBody] TrainingPlan trainingPlan)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != trainingPlan.Id)
            {
                return(BadRequest());
            }

            _context.Entry(trainingPlan).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TrainingPlanExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public void ConvertPlan_WithDeletedExercise()
        {
            string plan = @"<TrainingPlan>
  <Purpose>Mass</Purpose>
  <Language>pl</Language>
  <Author>jony0008</Author>
  <Comment><![CDATA[]]></Comment>
  <CreationDate>06/05/2011 21:05:23</CreationDate>
  <Difficult>Beginner</Difficult>
  <GlobalId>00c7057a-0694-4b2c-96f7-2c8d0e1cf445</GlobalId>
  <Name>mój plan FBW</Name>
  <RestSeconds>90</RestSeconds>
  <TrainingType>FBW</TrainingType>
  <Url></Url>
  <Days>
    <Day>
      <GlobalId>4cd10e23-170f-4374-b1ae-06e9774752ce</GlobalId>
      <Name>Dzień 1</Name>
      <Entries>
        <Entry>
          <ExerciseId>3e06a130-b811-4e45-9285-f087403615bf</ExerciseId>
          <GlobalId>aaae4427-e354-4323-bb0a-08053cacde18</GlobalId>
          <RestSeconds>90</RestSeconds>
          <Sets>
            <Set>
              <RepetitionNumberMax>12</RepetitionNumberMax>
              <RepetitionNumberMin>12</RepetitionNumberMin>
              <RepetitionsType>Normalna</RepetitionsType>
              <GlobalId>a6e905c6-a8cc-4840-a8d8-6a25dcafadcb</GlobalId>
              <DropSet>None</DropSet>
            </Set>
          </Sets>
        </Entry>
      </Entries>
      <SuperSets />
    </Day>
  </Days>
</TrainingPlan>";

            Model.Old.Profile      oldProfile1 = CreateProfile("profile1");
            Model.Old.TrainingPlan oldPlan     = new TrainingPlan();
            oldPlan.Profile      = oldProfile1;
            oldPlan.PlanContent  = plan;
            oldPlan.Purpose      = WorkoutPlanPurpose.Strength;
            oldPlan.Language     = "pl";
            oldPlan.Name         = "yyyyy";
            oldPlan.Author       = "Roemk";
            oldPlan.CreationDate = DateTime.UtcNow.Date.AddHours(1);
            oldPlan.Difficult    = TrainingPlanDifficult.Advanced;
            oldPlan.TrainingType = TrainingType.HST;
            insertToOldDatabase(oldPlan);

            Convert();

            var newPlan         = SessionNew.QueryOver <Model.TrainingPlan>().SingleOrDefault();
            var deletedExercise = SessionNew.QueryOver <Model.Exercise>().Where(x => x.IsDeleted).SingleOrDefault();

            Assert.AreEqual(deletedExercise.GlobalId, newPlan.Days.ElementAt(0).Entries.ElementAt(0).Exercise.GlobalId);
        }
Esempio n. 14
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            TrainingPlan trainingPlan = db.TrainingPlans.Find(id);

            db.TrainingPlans.Remove(trainingPlan);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 15
0
        public TrainingPlanHtmlExporter(TrainingPlan trainingPlan)
        {
            this.trainingPlan = trainingPlan;
            prepareTrainingPlan();
            initialPrintBackground = PrintBackground;

            setAllTrainingDaysToPrint(trainingPlan);
        }
Esempio n. 16
0
        public PlanDetailPage(TrainingPlan plan)
        {
            InitializeComponent();
            BindingContext = plan;

            PlanList.ItemsSource   = plan.Weeks.Select(w => new PlanWeekContainer(w));
            PlanList.ItemSelected += PlanList_ItemSelected;
        }
Esempio n. 17
0
        private void rbtnNew_Click(object sender, RoutedEventArgs e)
        {
            var plan = new TrainingPlan();

            plan.Language = "en";
            plan.Profile  = UserContext.Current.CurrentProfile;
            editTrainingPlan(plan);
        }
        public TrainingPlanHtmlExporter(TrainingPlan trainingPlan) : base(trainingPlan.Name)
        {
            this.trainingPlan = trainingPlan;
            prepareTrainingPlan();


            //setAllTrainingDaysToPrint(trainingPlan);
        }
        public void RemoveTrainingPlan(TrainingPlan trainingPlan)
        {
            var planItems = _context.PlanItems.Where(x => x.TrainingPlanId == trainingPlan.Id);

            _context.Remove(trainingPlan);
            _context.RemoveRange(planItems);
            _context.SaveChanges();
        }
Esempio n. 20
0
        public async Task <TrainingPlan> Update(TrainingPlan trainingPlan)
        {
            trainingPlan.Modified = DateTime.Now;
            await TrainingPlans.MongoCollection.ReplaceOneAsync(
                new BsonDocument("_id",
                                 new ObjectId(trainingPlan.Id.ToString())), trainingPlan);

            return(trainingPlan);
        }
Esempio n. 21
0
 public ActionResult Edit([Bind(Include = "Id,Name,Description")] TrainingPlan trainingPlan)
 {
     if (ModelState.IsValid)
     {
         db.Entry(trainingPlan).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(trainingPlan));
 }
Esempio n. 22
0
        public AddUpdateTrainingItems(ref TrainingPlan TrainingPlanNameToBeEdited)
        {
            IsAddPage = false;
            InitializeComponent();
            _trainingPlanNameToBeEdited = TrainingPlanNameToBeEdited;
            TrainingPlanName.Text = _trainingPlanNameToBeEdited.Name;
            AddBtn.Text = "Zmień";
            lblPageTitle.Text = "Edytuj nazwę planu treningowego";
            _connection = DependencyService.Get<ISQLiteDb>().GetConnection();

        }
        public async Task <TrainingPlanContext> UpdateTrainingPlan(TrainingPlanContext trainingPlanctx)
        {
            if (null == trainingPlanctx)
            {
                return(null);
            }
            TrainingPlan trainingPlan = trainingPlanctx.ConvertToTrainingPlan(false);
            var          result       = await TrainingPlanEntityService.Update(trainingPlan);

            return(result.ConvertToTrainingPlanContext());
        }
        //TODO: Create Exercises/update exercises methods.

        public async Task <bool> DeleteTrainingPlan(TrainingPlanContext trainingPlanctx)
        {
            if (null == trainingPlanctx)
            {
                return(false);
            }
            TrainingPlan trainingPlan = trainingPlanctx.ConvertToTrainingPlan(false);
            var          result       = await TrainingPlanEntityService.Delete(trainingPlan.Id.ToString());

            return(result);
        }
        public async Task <IActionResult> Create([Bind("Id,Name")] TrainingPlan trainingPlan)
        {
            if (ModelState.IsValid)
            {
                _context.Add(trainingPlan);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(trainingPlan));
        }
        public void ConvertPlan3_WithSuperSets()
        {
            var oldExercise1 = CreateExercise("test1", new Guid("7b1982b9-a9ea-4d39-84ff-db6764b66ec0"));
            var oldExercise2 = CreateExercise("test2", new Guid("f0ab1656-b94d-4665-9ac9-f02f100f6e8c"));

            string plan = @"<TrainingPlan><Purpose>NotSet</Purpose><Language>pl</Language><Author>BodyArchitect</Author><Comment><![CDATA[]]></Comment><CreationDate>12/09/2010 07:01:14</CreationDate><Difficult>Advanced</Difficult><GlobalId>e8ec0028-a9a8-4c9f-a40f-8fb4aea43372</GlobalId><Name>Plan na wytrzymałość</Name><RestSeconds>0</RestSeconds><TrainingType>Split</TrainingType><Url>http://blog.myba.tk/?p=36</Url>
<Days>
    <Day><GlobalId>3ed3deaf-ef7b-40f5-9c0e-4e96565306a6</GlobalId><Name>Dzień 1</Name><Entries>
        <Entry><Comment><![CDATA[Kąt 45 stopni]]></Comment><ExerciseId>7b1982b9-a9ea-4d39-84ff-db6764b66ec0</ExerciseId><GlobalId>e2a4198f-7cd9-443c-8e44-1605277e1afa</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>67333bfe-771c-452e-8e89-c9ff128712b1</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>2f313788-1126-4621-8081-d2ae52fb6793</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>3ea05350-96a4-4022-9068-440fc327dda2</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>3194c203-4083-462d-b7df-2564c195041f</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>7b1982b9-a9ea-4d39-84ff-db6764b66ec0</ExerciseId><GlobalId>83ccef8a-6e42-4c74-9b5f-5942c606bfb5</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>972e725c-cee7-4308-bd60-90d3a87a123d</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>e66af240-44fe-4774-9dec-4f65eb853d19</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>9f09f3dc-c2b6-433d-a05d-658b8a81276a</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>d189ff4d-9f09-4b05-8b2b-dae54ecf6acd</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><Comment><![CDATA[Kąt 45 stopni]]></Comment><ExerciseId>7b1982b9-a9ea-4d39-84ff-db6764b66ec0</ExerciseId><GlobalId>48984fa0-aab7-4314-b193-b6158b67e548</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>5ec2ef5f-6fc6-409f-8011-987a63f47667</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>1f9f0114-a4e7-42df-814d-adaebba669e7</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>bf18315d-e0be-4b4d-aa0d-c07ab0604b37</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>7b1982b9-a9ea-4d39-84ff-db6764b66ec0</ExerciseId><GlobalId>2bfde702-cc44-4c81-9686-9dfe8608eaa8</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>4c4d8820-755f-4e3c-abeb-3434703845df</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>e838b51d-d6d7-47e9-887a-06ba662bf40f</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>dfff566a-cb6c-4e1c-8de5-6fdb5c95b1ed</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>7b1982b9-a9ea-4d39-84ff-db6764b66ec0</ExerciseId><GlobalId>ea283fb2-b11a-4995-a301-e2fa42752556</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>f133b0b3-ef1c-4c81-ab60-a140b7407e33</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>84581d77-5274-4f3b-99dc-b3b0766d505f</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>f8fd5a6e-d8c1-4148-8e96-7aa17d9b975e</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>f0ab1656-b94d-4665-9ac9-f02f100f6e8c</ExerciseId><GlobalId>319899bb-0a7e-4783-9074-125e8299c8b9</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>7945faf9-acd2-4266-bd01-8eedae6749f7</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>ff0b56c6-362c-42a4-8b2a-f41cccb7f73a</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>d31ba4a6-d1de-40cc-9b84-5cf678f0eb16</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>f0ab1656-b94d-4665-9ac9-f02f100f6e8c</ExerciseId><GlobalId>c110f30b-82e6-4ea1-b2f8-1cac3b32bf96</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>f6ea1a8d-c671-4f8c-af6b-ff5d1a9410b7</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>9f01080f-1d67-41e0-821f-c7dd3320eb4d</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>528425be-97bb-4ec9-9609-db04f378eea5</GlobalId><DropSet>None</DropSet></Set></Sets></Entry>
        <Entry><ExerciseId>f0ab1656-b94d-4665-9ac9-f02f100f6e8c</ExerciseId><GlobalId>6e2167a7-f41d-4b82-b968-08068d2c70fb</GlobalId><RestSeconds>0</RestSeconds><Sets><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>ee609440-4a69-4562-b05d-cb2a202f35ef</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>99f8a670-f748-430c-b503-c92d6206273d</GlobalId><DropSet>None</DropSet></Set><Set><RepetitionNumberMax>15</RepetitionNumberMax><RepetitionNumberMin>15</RepetitionNumberMin><RepetitionsType>Normalna</RepetitionsType><GlobalId>82dd9dd0-07f5-45b9-bf94-45fcc9ca5ff5</GlobalId><DropSet>None</DropSet></Set></Sets></Entry></Entries>
        <SuperSets>
            <SuperSet><SuperSetId>ba85dcbd-589e-49cc-94ad-29e4b07db7e3</SuperSetId>    <Entries>
                <EntryId>ea283fb2-b11a-4995-a301-e2fa42752556</EntryId>
                <EntryId>319899bb-0a7e-4783-9074-125e8299c8b9</EntryId></Entries></SuperSet></SuperSets></Day></Days></TrainingPlan>";

            Model.Old.Profile      oldProfile1 = CreateProfile("profile1");
            Model.Old.TrainingPlan oldPlan     = new TrainingPlan();
            oldPlan.Profile      = oldProfile1;
            oldPlan.PlanContent  = plan;
            oldPlan.PublishDate  = DateTime.Now.Date;
            oldPlan.Language     = "pl";
            oldPlan.Name         = "yyyyy";
            oldPlan.Author       = "Roemk";
            oldPlan.CreationDate = DateTime.UtcNow.Date.AddHours(1);
            insertToOldDatabase(oldPlan);

            Convert();

            var newPlan    = SessionNew.QueryOver <Model.TrainingPlan>().SingleOrDefault();
            var newProfile = SessionNew.QueryOver <Model.Profile>().Where(x => x.UserName == "profile1").SingleOrDefault();

            Assert.AreEqual(newProfile, newPlan.Profile);
            Assert.AreEqual(1, newPlan.Days.Count);

            var day = newPlan.Days.ElementAt(0);

            Assert.AreEqual(8, day.Entries.Count);
            var superSetEntries = newPlan.Days.SelectMany(x => x.Entries).Where(x => !string.IsNullOrEmpty(x.GroupName)).ToList();

            Assert.AreEqual(2, superSetEntries.Count);
            var firstEntryInSuperSet  = day.Entries.Where(x => x.Position == 4).Single();
            var secondEntryInSuperSet = day.Entries.Where(x => x.Position == 5).Single();

            Assert.AreEqual(firstEntryInSuperSet.GroupName, secondEntryInSuperSet.GroupName);

            Assert.IsNotNull(day.Entries.ElementAt(0).Comment);
            Assert.IsNotNull(day.Entries.ElementAt(2).Comment);
        }
        public async Task <bool> CreateTrainingPlan(TrainingPlanContext trainingPlanctx)
        {
            if (null == trainingPlanctx)
            {
                return(false);
            }
            TrainingPlan trainingPlan = trainingPlanctx.ConvertToTrainingPlan(true);
            var          result       = await TrainingPlanEntityService.CreateTrainingPlan(trainingPlan);

            return(result);
        }
Esempio n. 28
0
        //private void commentsSplitter_Collapsed(object sender, EventArgs e)
        //{
        //    ShowComments = !commentsSplitter.IsCollapsed;
        //}

        void editTrainingPlan(TrainingPlan plan)
        {
            if (!UIHelper.EnsurePremiumLicence())
            {
                return;
            }

            MainWindow.Instance.ShowPage(new Uri("pack://application:,,,/BodyArchitect.Client.Module.StrengthTraining;component/Controls/TrainingPlans/TrainingPlanEditorWindow.xaml"), () =>
            {
                return(new ItemContext <TrainingPlan>(plan));
            });
        }
Esempio n. 29
0
        public async Task <bool> CreateTrainingPlan(TrainingPlan trainingPlan)
        {
            trainingPlan.Created = DateTime.Now;
            var   result = TrainingPlans.MongoCollection.InsertOneAsync(trainingPlan);
            await result;

            if (result.IsCompleted)
            {
                return(true);
            }
            return(false);
        }
Esempio n. 30
0
        public async Task <IActionResult> PostTrainingPlan([FromBody] TrainingPlan trainingPlan)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.TrainingPlans.Add(trainingPlan);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTrainingPlan", new { id = trainingPlan.Id }, trainingPlan));
        }