Example #1
0
        private async Task <Training> CreateTraining(DataContext context, User user)
        {
            var training = Training.Create(
                "Training 1",
                new DateTime(2020, 7, 20),
                user
                );

            var exercise = await GetExercise(context);

            var trainingExercise = TrainingExercise.Create(exercise, user);

            var unit = await GetUnit(context);

            var trainingExerciseSet1 = TrainingExerciseSet.Create(
                10,
                80,
                unit,
                user
                );

            var trainingExerciseSet2 = TrainingExerciseSet.Create(
                10,
                85,
                unit,
                user
                );

            trainingExercise.Sets.Add(trainingExerciseSet1);
            trainingExercise.Sets.Add(trainingExerciseSet2);
            training.Exercises.Add(trainingExercise);
            return(training);
        }
Example #2
0
        public static void TrainingExerciseChange(ApplicationDbContext dbContext, TrainingExercise trainingExercise, bool deleted = false)
        {
            if (trainingExercise == null || (!deleted && trainingExercise.ModificationDate == null))
            {
                return;
            }

            var trainingDayKey = new TrainingDayKey()
            {
                UserId        = trainingExercise.UserId,
                Year          = trainingExercise.Year,
                WeekOfYear    = trainingExercise.WeekOfYear,
                DayOfWeek     = trainingExercise.DayOfWeek,
                TrainingDayId = trainingExercise.TrainingDayId
            };
            var modificationDate = deleted ? Utils.DateTimeWithoutMs : trainingExercise.ModificationDate;

            UpdateTrainingDayModificationDate(dbContext, modificationDate, trainingDayKey);

            var trainingWeekKey = new TrainingWeekKey()
            {
                UserId     = trainingExercise.UserId,
                Year       = trainingExercise.Year,
                WeekOfYear = trainingExercise.WeekOfYear
            };

            UpdateTrainingWeekModificationDate(dbContext, modificationDate, trainingWeekKey);
        }
Example #3
0
        internal static TrainingExercise ToBean(TrainingExerciseRow row)
        {
            if (row == null)
            {
                return(null);
            }

            var bean = new TrainingExercise();

            bean.UserId                     = row.UserId;
            bean.Year                       = row.Year;
            bean.WeekOfYear                 = row.WeekOfYear;
            bean.DayOfWeek                  = row.DayOfWeek;
            bean.TrainingDayId              = row.TrainingDayId;
            bean.Id                         = row.Id;
            bean.BodyExerciseId             = row.BodyExerciseId;
            bean.RestTime                   = row.RestTime;
            bean.EccentricContractionTempo  = row.EccentricContractionTempo.HasValue ? row.EccentricContractionTempo.Value : 0;
            bean.StretchPositionTempo       = row.StretchPositionTempo.HasValue ? row.StretchPositionTempo.Value : 0;
            bean.ConcentricContractionTempo = row.ConcentricContractionTempo.HasValue ? row.ConcentricContractionTempo.Value : 0;
            bean.ContractedPositionTempo    = row.ContractedPositionTempo.HasValue ? row.ContractedPositionTempo.Value : 0;
            bean.ModificationDate           = DbUtils.DbDateToUtc(row.ModificationDate);
            bean.ExerciseUnitType           = Utils.IntToEnum <TExerciseUnitType>(row.ExerciseUnitType ?? (int)TExerciseUnitType.RepetitionNumber);
            return(bean);
        }
Example #4
0
        public static void ToRow(TrainingExercise bean, TrainingExerciseRow row)
        {
            if (bean == null)
            {
                return;
            }

            row.UserId         = bean.UserId;
            row.Year           = bean.Year;
            row.WeekOfYear     = bean.WeekOfYear;
            row.DayOfWeek      = bean.DayOfWeek;
            row.TrainingDayId  = bean.TrainingDayId;
            row.Id             = bean.Id;
            row.BodyExerciseId = bean.BodyExerciseId;
            row.RestTime       = bean.RestTime;
            if (bean.ObjectVersionNumber > 0) // Retrocompatibility
            {
                row.EccentricContractionTempo  = bean.EccentricContractionTempo;
                row.StretchPositionTempo       = bean.StretchPositionTempo;
                row.ConcentricContractionTempo = bean.ConcentricContractionTempo;
                row.ContractedPositionTempo    = bean.ContractedPositionTempo;
            }
            if (bean.ObjectVersionNumber > 1) // Retrocompatibility
            {
                row.ExerciseUnitType = (int)bean.ExerciseUnitType;
            }
            row.ModificationDate = DbUtils.DateToUtc(Utils.DateTimeWithoutMs); // Set modificationDate
        }
Example #5
0
        /// <summary>
        /// Update data in database
        /// </summary>
        /// <param name="trainingJournalDayExercise">data</param>
        /// <returns>updated data</returns>
        public TrainingExercise Update(TrainingExercise trainingJournalDayExercise)
        {
            if (trainingJournalDayExercise == null || string.IsNullOrWhiteSpace(trainingJournalDayExercise.UserId) ||
                trainingJournalDayExercise.Year == 0 || trainingJournalDayExercise.WeekOfYear == 0 ||
                trainingJournalDayExercise.DayOfWeek < 0 || trainingJournalDayExercise.DayOfWeek > 6 || trainingJournalDayExercise.TrainingDayId == 0 || trainingJournalDayExercise.Id == 0)
            {
                return(null);
            }

            var row = _dbContext.TrainingExercise.Where(t => t.UserId == trainingJournalDayExercise.UserId &&
                                                        t.Year == trainingJournalDayExercise.Year &&
                                                        t.WeekOfYear == trainingJournalDayExercise.WeekOfYear &&
                                                        t.DayOfWeek == trainingJournalDayExercise.DayOfWeek &&
                                                        t.TrainingDayId == trainingJournalDayExercise.TrainingDayId &&
                                                        t.Id == trainingJournalDayExercise.Id).FirstOrDefault();

            if (row == null)
            {             // No data in database
                return(Create(trainingJournalDayExercise));
            }
            else
            {             //Modify Data in database
                TrainingExerciseTransformer.ToRow(trainingJournalDayExercise, row);
                _dbContext.SaveChanges();
                return(GetBean(row));
            }
        }
Example #6
0
        public ExecutePageVM(long id)
        {
            _trainingExercise = RepoTrainingExercise.Instance.FindById(id);
            _exercise         = RepoExercise.Instance.FindById(_trainingExercise.IdExecise);

            _stateFactory = new PageStateFactory(this);
            _state        = _stateFactory.GetState();

            if (Status == TrainingExerciseStatus.Created)
            {
                Start();
                return;
            }

            InitializeHistoryOnDemand();

            if (Sets.Count != 0)
            {
                int lastOrdinal = Sets.Max(x => x.OrdinalNumber);
                CurrentSet        = LastSet = new SetVM(Sets.SingleOrDefault(x => x.OrdinalNumber == lastOrdinal));
                FinishButtonState = true;
            }

            _state.Initialize();
        }
Example #7
0
 private void CompleteTrainingExerciseWithSet(TrainingExercise trainingExercise)
 {
     if (trainingExercise != null)
     {
         var criteria = new TrainingExerciseSetCriteria()
         {
             UserId = new StringCriteria()
             {
                 Equal = trainingExercise.UserId
             },
             Year = new IntegerCriteria()
             {
                 Equal = trainingExercise.Year
             },
             WeekOfYear = new IntegerCriteria()
             {
                 Equal = trainingExercise.WeekOfYear
             },
             DayOfWeek = new IntegerCriteria()
             {
                 Equal = trainingExercise.DayOfWeek
             },
             TrainingDayId = new IntegerCriteria()
             {
                 Equal = trainingExercise.TrainingDayId
             },
             TrainingExerciseId = new IntegerCriteria()
             {
                 Equal = trainingExercise.Id
             }
         };
         trainingExercise.TrainingExerciseSets = _trainingExerciseSetManager.FindTrainingExerciseSet(criteria);
     }
 }
        public async Task <IActionResult> PutTrainingExercise(int id, TrainingExercise trainingExercise)
        {
            if (id != trainingExercise.TrainingExerciseId)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Example #9
0
        public AfterExercise(Exercise exercise, Training training, string time = null)
        {
            selectedTraining = training;
            selectedExercise = exercise;
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);
            selectedTrainingExercise = training.TrainingExercises.Find(i => i.ExerciseID == exercise.ApiExerciseID);

            if (time != null)
            {
                EntryTime.Text = time;
            }
            else if (selectedTrainingExercise != null)
            {
                EntryTime.Text = selectedTrainingExercise.time.ToString("mm:ss:ff");
            }
            if (selectedTrainingExercise != null)
            {
                EntryRepetitions1.Text = selectedTrainingExercise.set1Repetitions.ToString();
                EntryRepetitions2.Text = selectedTrainingExercise.set2Repetitions.ToString();
                EntryRepetitions3.Text = selectedTrainingExercise.set3Repetitions.ToString();
                EntryWeights1.Text     = selectedTrainingExercise.set1Weights.ToString();
                EntryWeights2.Text     = selectedTrainingExercise.set2Weights.ToString();
                EntryWeights3.Text     = selectedTrainingExercise.set3Weights.ToString();
            }
        }
        public static TrainingExerciseViewModel TrainingExerciseToViewModel(TrainingExercise trainingExercise, IBodyExercisesService bodyExercisesService)
        {
            var bodyExercise = bodyExercisesService.GetBodyExercise(new BodyExerciseKey() { Id = trainingExercise.BodyExerciseId });

            var viewModel = new TrainingExerciseViewModel()
            {
                UserId = trainingExercise.UserId,
                Year = trainingExercise.Year,
                WeekOfYear = trainingExercise.WeekOfYear,
                DayOfWeek = trainingExercise.DayOfWeek,
                TrainingDayId = trainingExercise.TrainingDayId,
                TrainingExerciseId = trainingExercise.Id,
                BodyExerciseId = trainingExercise.BodyExerciseId,
                RestTime = trainingExercise.RestTime,
                EccentricContractionTempo = trainingExercise.EccentricContractionTempo,
                StretchPositionTempo = trainingExercise.StretchPositionTempo,
                ConcentricContractionTempo = trainingExercise.ConcentricContractionTempo,
                ContractedPositionTempo = trainingExercise.ContractedPositionTempo,
                BodyExerciseName = bodyExercise != null && !string.IsNullOrWhiteSpace(bodyExercise.Name) ? bodyExercise.Name : string.Empty,
                BodyExerciseImage = string.Format("/images/bodyexercises/{0}.png", trainingExercise.BodyExerciseId)
            };

            viewModel.TupleSetReps = new List<Tuple<int, int, double>>();
            if (trainingExercise.TrainingExerciseSets != null)
            {
                foreach (var set in trainingExercise.TrainingExerciseSets)
                    viewModel.TupleSetReps.Add(new Tuple<int, int, double>(set.NumberOfSets, set.NumberOfReps, set.Weight));
            }

            return viewModel;
        }
 private TrainingExerciseSetCriteria CreateTrainingExerciseSetCriteria(TrainingExercise trainingExercise)
 {
     return(new TrainingExerciseSetCriteria()
     {
         UserId = new StringCriteria()
         {
             Equal = trainingExercise.UserId
         },
         Year = new IntegerCriteria()
         {
             Equal = trainingExercise.Year
         },
         WeekOfYear = new IntegerCriteria()
         {
             Equal = trainingExercise.WeekOfYear
         },
         DayOfWeek = new IntegerCriteria()
         {
             Equal = trainingExercise.DayOfWeek
         },
         TrainingDayId = new IntegerCriteria()
         {
             Equal = trainingExercise.TrainingDayId
         },
         TrainingExerciseId = new IntegerCriteria()
         {
             Equal = trainingExercise.Id
         }
     });
 }
Example #12
0
        public async Task <bool> Add(TrainingForAddDto trainingForAddDto, int userId)
        {
            var user = await _repoUser.GetUser(userId);

            var trainingToCreate = Training.Create(trainingForAddDto.Name.Trim(), trainingForAddDto.Date, user);

            foreach (var trainingExerciseDto in trainingForAddDto.Exercises)
            {
                var exercise = await _repoExercise.GetByName(trainingExerciseDto.Exercise.Name, user.Id);

                if (exercise == null)
                {
                    _repoExercise.Add(Exercise.Create(trainingExerciseDto.Exercise.Name, user));
                    await _repoExercise.SaveAll();

                    exercise = await _repoExercise.GetByName(trainingExerciseDto.Exercise.Name, user.Id);
                }
                var exerciseToCreate = TrainingExercise.Create(exercise, user);

                foreach (var set in trainingExerciseDto.Sets)
                {
                    var unit = await _repoUnit.GetByCode(set.Unit);

                    var setToCreate = TrainingExerciseSet.Create(set.Reps, set.Weight, unit, user);
                    exerciseToCreate.Sets.Add(setToCreate);
                }

                trainingToCreate.Exercises.Add(exerciseToCreate);
            }
            _repoTraining.Add(trainingToCreate);
            return(await _repoTraining.SaveAll());
        }
        public async Task <ActionResult <TrainingExercise> > PostTrainingExercise(TrainingExercise trainingExercise)
        {
            _context.TrainingExercises.Add(trainingExercise);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTrainingExercise", new { id = trainingExercise.TrainingExerciseId }, trainingExercise));
        }
        public ActionResult DeleteConfirmed(Guid id)
        {
            TrainingExercise trainingExercise = db.TrainingExercises.Find(id);

            db.TrainingExercises.Remove(trainingExercise);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #15
0
        private async void Button_Pressed(object sender, EventArgs e)
        {
            if (selectedTrainingExercise != null)
            {
                var trainingExercise = new TrainingExercise(
                    selectedTrainingExercise.ExerciseID,
                    DateTime.ParseExact(EntryTime.Text, "mm:ss:ff", CultureInfo.InvariantCulture),
                    int.Parse(EntryRepetitions1.Text),
                    int.Parse(EntryRepetitions2.Text),
                    int.Parse(EntryRepetitions3.Text),
                    Double.Parse(EntryWeights1.Text),
                    Double.Parse(EntryWeights2.Text),
                    Double.Parse(EntryWeights3.Text)
                    );

                selectedTraining.TrainingExercises.Remove(selectedTrainingExercise);
                selectedTraining.TrainingExercises.Add(trainingExercise);
                var trainingHandler = new TrainingHandler();

                await trainingHandler.UpdateTraining(selectedTraining);

                await LoginInfo.SetLoginInfo(LoginInfo.LoggedInUser._id);

                await Navigation.PopAsync();

                await Navigation.PopAsync();
            }
            else if (EntryRepetitions1.Text != null && EntryRepetitions2.Text != null && EntryRepetitions3.Text != null && EntryWeights1.Text != null && EntryWeights2.Text != null && EntryWeights3.Text != null)
            {
                var trainingExercise = new TrainingExercise(
                    selectedExercise.ApiExerciseID,
                    DateTime.ParseExact(EntryTime.Text, "mm:ss:ff", CultureInfo.InvariantCulture),
                    int.Parse(EntryRepetitions1.Text),
                    int.Parse(EntryRepetitions2.Text),
                    int.Parse(EntryRepetitions3.Text),
                    Double.Parse(EntryWeights1.Text),
                    Double.Parse(EntryWeights2.Text),
                    Double.Parse(EntryWeights3.Text)
                    );
                var trainingHandler = new TrainingHandler();

                selectedTraining.TrainingExercises.Add(trainingExercise);

                await trainingHandler.UpdateTraining(selectedTraining);

                await LoginInfo.SetLoginInfo(LoginInfo.LoggedInUser._id);

                await Navigation.PopAsync();

                await Navigation.PopAsync();
            }
            else
            {
                MissingInfoLabel.IsVisible = true;
            }
        }
 public ActionResult Edit(TrainingExercise trainingExercise)
 {
     if (ModelState.IsValid)
     {
         db.Entry(trainingExercise).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", new { id = trainingExercise.TrainingSession.Id }));
     }
     return(View(trainingExercise));
 }
        private async Task <AddTrainingToHistoryRequest> CreateAddTrainingToHistoryRequest(AuthenticatedUser user)
        {
            Training training = await CreatePrivateTraining(user.Id);

            Exercise exercise1 = await CreateExercise();

            Exercise exercise2 = await CreateExercise();

            TrainingExercise trainingExercise1 = new TrainingExercise {
                ExerciseId = exercise1.Id, TrainingId = training.Id
            };
            TrainingExercise trainingExercise2 = new TrainingExercise {
                ExerciseId = exercise2.Id, TrainingId = training.Id
            };

            await Context.TrainingExercise.AddRangeAsync(new List <TrainingExercise> {
                trainingExercise1, trainingExercise2
            });

            await Context.SaveChangesAsync();

            AddTrainingToHistoryRequest request = new AddTrainingToHistoryRequest
            {
                TrainingId = training.Id,
                Exercises  = new List <ExerciseHistoryRequest>
                {
                    new ExerciseHistoryRequest
                    {
                        ExerciseId          = exercise1.Id,
                        ExerciseHistoryStat = new ExerciseHistoryStatsRequest
                        {
                            Obciazenie  = 20,
                            Powtorzenia = 10,
                            Serie       = 3,
                            Czas        = 0,
                            Dystans     = 0
                        }
                    },
                    new ExerciseHistoryRequest
                    {
                        ExerciseId          = exercise2.Id,
                        ExerciseHistoryStat = new ExerciseHistoryStatsRequest
                        {
                            Obciazenie  = 10,
                            Powtorzenia = 5,
                            Serie       = 6,
                            Czas        = 0,
                            Dystans     = 0
                        }
                    }
                }
            };

            return(request);
        }
Example #18
0
        public TrainingExercise UpdateTrainingExercise(TrainingExercise trainingExercise, bool manageDeleteLinkItem)
        {
            var result = _trainingExerciseModule.Update(trainingExercise);

            if (result != null && trainingExercise.TrainingExerciseSets != null)
            {
                if (manageDeleteLinkItem)
                {
                    var setList = _trainingExerciseSetManager.FindTrainingExerciseSet(new TrainingExerciseSetCriteria()
                    {
                        UserId = new StringCriteria()
                        {
                            Equal = trainingExercise.UserId
                        },
                        Year = new IntegerCriteria()
                        {
                            Equal = trainingExercise.Year
                        },
                        WeekOfYear = new IntegerCriteria()
                        {
                            Equal = trainingExercise.WeekOfYear
                        },
                        DayOfWeek = new IntegerCriteria()
                        {
                            Equal = trainingExercise.DayOfWeek
                        },
                        TrainingDayId = new IntegerCriteria()
                        {
                            Equal = trainingExercise.TrainingDayId
                        },
                        TrainingExerciseId = new IntegerCriteria()
                        {
                            Equal = trainingExercise.Id
                        }
                    });

                    if (setList != null && setList.Count > 0)
                    {
                        foreach (var set in setList)
                        {
                            _trainingExerciseSetManager.DeleteTrainingExerciseSet(set);
                        }
                    }
                }

                result.TrainingExerciseSets = new List <TrainingExerciseSet>();
                foreach (var set in trainingExercise.TrainingExerciseSets)
                {
                    result.TrainingExerciseSets.Add(_trainingExerciseSetManager.UpdateTrainingExerciseSet(set));
                }
            }

            return(result);
        }
Example #19
0
        public float FindRepsPerSet(TrainingExercise trainingExercise)
        {
            var sets = FindAllForTraining(trainingExercise).ToArray();

            if (!sets.Any())
            {
                return(0);
            }

            return(sets.Sum(x => x.Reps) / sets.Length);
        }
Example #20
0
        public float FindTotalReps(TrainingExercise trainingExercise)
        {
            var sets = FindAllForTraining(trainingExercise).ToArray();

            if (!sets.Any())
            {
                return(0);
            }

            return(sets.Sum(x => x.Reps));
        }
Example #21
0
        public float FindAvgWeight(TrainingExercise trainingExercise)
        {
            var sets = FindAllForTraining(trainingExercise).ToArray();

            if (!sets.Any())
            {
                return(0);
            }

            return(sets.Sum(x => x.Lift * x.Reps) / sets.Sum(x => x.Reps));
        }
Example #22
0
        public float FindMaxWeight(TrainingExercise trainingExercise)
        {
            var sets = FindAllForTraining(trainingExercise).ToArray();

            if (!sets.Any())
            {
                return(0);
            }

            return(sets.Max(x => x.Lift));
        }
        // GET: Admin/TrainingExercise/Create
        public ActionResult Create(Guid?id)
        {
            var training = db.TrainingSessions.SingleOrDefault(x => x.Id == id.Value);

            var model = new TrainingExercise();

            model.TrainingSession = training;


            return(View(model));
        }
        public static async Task <EditTrainingExerciseViewModelResult> ShowAsync(TrainingExercise trainingExercise, BaseViewModel parent = null)
        {
            var viewModel = new EditTrainingExerciseViewModel();

            viewModel._trainingExercise = trainingExercise;
            var result = await ShowModalViewModelAsync(viewModel, parent);

            var editTrainingExerciseViewModelResult = new EditTrainingExerciseViewModelResult();

            editTrainingExerciseViewModelResult.Result = result;
            return(editTrainingExerciseViewModelResult);
        }
Example #25
0
        public async Task <List <Training> > GetReadyTrainingPlan(int trainingsPerWeek, int breakTime, ApplicationUser user, string priorityPart)
        {
            List <Exercise> exercisesForTraining; //usunac newlist
            List <Training> TrainingPlanList = new List <Training>();


            for (int i = 1; i <= trainingsPerWeek; i++)
            {
                Training training = new Training
                {
                    Break             = breakTime,
                    ApplicationUser   = user,
                    ApplicationUserId = user.Id,
                    Date         = DateTime.Now,
                    PriorityPart = priorityPart,
                    IsActive     = true
                };

                if (trainingsPerWeek == 3)
                {
                    training.IsBegginer  = true;
                    exercisesForTraining = await GetExercisesForBegginer(trainingsPerWeek, user.isMale, i);
                }
                else if (trainingsPerWeek == 4)
                {
                    training.IsIntermediate = true;
                    exercisesForTraining    = await GetExercisesForIntermediate(trainingsPerWeek, user.isMale, i);
                }
                else
                {
                    training.IsAdvanced  = true;
                    exercisesForTraining = await GetExercisesForAdvanced(trainingsPerWeek, user.isMale, i);
                }

                await trainingRepository.AddTraining(training);

                foreach (Exercise e in exercisesForTraining)
                {
                    TrainingExercise te = new TrainingExercise
                    {
                        TrainingId = training.Id,
                        Training   = training,
                        Exercise   = e,
                        ExerciseId = e.Id
                    };
                    training.TrainingExercises.Add(te);
                    await trainingRepository.AddTrainingExercise(te);
                }
                TrainingPlanList.Add(training);
            }
            return(TrainingPlanList);
        }
        /// <summary>
        /// Create data in database
        /// </summary>
        /// <param name="trainingJournalDayExercise">Data</param>
        /// <returns>insert data</returns>
        public TrainingExercise Create(TrainingExercise trainingJournalDayExercise)
        {
            if (trainingJournalDayExercise == null || string.IsNullOrWhiteSpace(trainingJournalDayExercise.UserId) ||
                trainingJournalDayExercise.Year == 0 || trainingJournalDayExercise.WeekOfYear == 0||
                trainingJournalDayExercise.DayOfWeek < 0 || trainingJournalDayExercise.DayOfWeek > 6 || trainingJournalDayExercise.TrainingDayId == 0 || trainingJournalDayExercise.Id == 0)
                return null;

            var row = new TrainingExerciseRow();
            TrainingExerciseTransformer.ToRow(trainingJournalDayExercise, row);
            _dbContext.TrainingExercise.Add(row);
            _dbContext.SaveChanges();
            return GetBean(row);
        }
        // GET: Admin/TrainingExercise/Edit/5
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TrainingExercise trainingExercise = db.TrainingExercises.Find(id);

            if (trainingExercise == null)
            {
                return(HttpNotFound());
            }
            return(View(trainingExercise));
        }
        /// <summary>
        /// Create data in database
        /// </summary>
        /// <param name="trainingJournalDayExercise">Data</param>
        /// <returns>insert data</returns>
        public TrainingExercise Create(TrainingExercise trainingJournalDayExercise)
        {
            if (trainingJournalDayExercise == null || string.IsNullOrWhiteSpace(trainingJournalDayExercise.UserId) ||
                trainingJournalDayExercise.Year == 0 || trainingJournalDayExercise.WeekOfYear == 0 ||
                trainingJournalDayExercise.DayOfWeek < 0 || trainingJournalDayExercise.DayOfWeek > 6 || trainingJournalDayExercise.TrainingDayId == 0 || trainingJournalDayExercise.Id == 0)
            {
                return(null);
            }

            var row = new TrainingExerciseRow();

            TrainingExerciseTransformer.ToRow(trainingJournalDayExercise, row);
            _dbContext.Insert(row);
            return(GetBean(row));
        }
Example #29
0
        public async Task <ActionResult> AddExerciseInTraining(AddExerciseInTraining model)
        {
            var email           = GetEmail();
            TrainingExercise te = new TrainingExercise
            {
                ExerciseId = model.ExerciseId,
                TrainingId = model.TrainingId,
                Order      = await trainingRepository.GetMaxOrderInTrainingAsync(model.TrainingId, email) + 1,
                UserEmail  = email
            };
            await _context.TrainingExercises.AddAsync(te);

            await _context.SaveChangesAsync();

            return(Ok());
        }
Example #30
0
        public TrainingExercise CreateTrainingExercise(TrainingExercise trainingExercise)
        {
            var result = _trainingExerciseModule.Create(trainingExercise);

            if (result != null && trainingExercise.TrainingExerciseSets != null)
            {
                TrainingExerciseSet trainingExerciseSet;
                result.TrainingExerciseSets = new List <TrainingExerciseSet>();
                foreach (var set in trainingExercise.TrainingExerciseSets)
                {
                    trainingExerciseSet = _trainingExerciseSetManager.CreateTrainingExerciseSet(set);
                    result.TrainingExerciseSets.Add(trainingExerciseSet);
                }
            }
            return(result);
        }
        public ActionResult TurnOff(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TrainingExercise trainingExercise = db.TrainingExercises.Find(id);

            if (trainingExercise == null)
            {
                return(HttpNotFound());
            }

            trainingExercise.IsAvailabe = false;
            db.SaveChanges();

            return(RedirectToAction("Index", new { id = trainingExercise.TrainingSession.Id }));
        }
        public TrainingExercise CreateTrainingExercise(TrainingExercise trainingExercise)
        {
            var result = _trainingDayExerciseModule.Create(trainingExercise);
            SynchroManager.TrainingExerciseChange(DbContext, result);

            if (result != null && trainingExercise.TrainingExerciseSets != null)
            {
                TrainingExerciseSet trainingExerciseSet;
                result.TrainingExerciseSets = new List<TrainingExerciseSet>();
                foreach (var set in trainingExercise.TrainingExerciseSets)
                {
                    trainingExerciseSet = _trainingExerciseSetModule.Create(set);
                    result.TrainingExerciseSets.Add(trainingExerciseSet);
                }
            }

            return result;
        }
Example #33
0
        public ExerciseDescription(Exercise exercise, Training training = null, bool trainingExerciseBool = false)
        {
            selectedExercise = exercise;
            BindingContext   = exercise;
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);
            TrainingExercise trainingExercise = null;

            if (training != null)
            {
                selectedTraining = training;
                trainingExercise = training.TrainingExercises.Find(i => i.ExerciseID == exercise.ApiExerciseID);
                if (trainingExercise != null)
                {
                    //var tap = new TapGestureRecognizer();
                    //var command = new Command<Training>(ResultTrainingExercise);
                    //tap.Command = command;
                    //tap.CommandParameter = training;
                    //ResultButton.GestureRecognizers.Add(tap);
                    //ResultButton.Pressed += ResultTrainingExercise;
                    ResultButton.IsVisible = true;
                }
                else if (trainingExerciseBool && trainingExercise == null)
                {
                    //var tap = new TapGestureRecognizer();
                    //var command = new Command<Training>(ResultTrainingExercise);
                    //tap.Command = command;
                    //tap.CommandParameter = training;
                    //ResultButton.GestureRecognizers.Add(tap);
                    //FinishedButton.Pressed += ResultFinishedExercise;
                    FinishedButton.IsVisible = true;
                }
            }

            //Skjuler timer og start hvis ikke aktiv øvelse
            Training.IsVisible = trainingExerciseBool;
            Label label = new Label {
                Text = exercise.Description, TextColor = Color.FromHex("#707070")
            };

            Description.Children.Add(label);

            Timer.Text = "00:00:00";
        }
 public TrainingExercise CreateTrainingExercise(TrainingExercise trainingExercise)
 {
     TrainingExercise result = null;
     BeginTransaction();
     try
     {
         result = GetTrainingExerciseManager().CreateTrainingExercise(trainingExercise);
         CommitTransaction();
     }
     catch (Exception exception)
     {
         _logger.LogCritical("Unable to create training exercises", exception);
         RollbackTransaction();
         throw exception;
     }
     finally
     {
         EndTransaction();
     }
     return result;
 }
        internal static TrainingExercise ToBean(TrainingExerciseRow row)
        {
            if (row == null)
                return null;

            var bean = new TrainingExercise();
            bean.UserId = row.UserId;
            bean.Year = row.Year;
            bean.WeekOfYear = row.WeekOfYear;
            bean.DayOfWeek = row.DayOfWeek;
            bean.TrainingDayId = row.TrainingDayId;
            bean.Id = row.Id;
            bean.BodyExerciseId = row.BodyExerciseId;
            bean.RestTime = row.RestTime;
            bean.EccentricContractionTempo = row.EccentricContractionTempo.HasValue ? row.EccentricContractionTempo.Value : 0;
            bean.StretchPositionTempo = row.StretchPositionTempo.HasValue ? row.StretchPositionTempo.Value : 0;
            bean.ConcentricContractionTempo = row.ConcentricContractionTempo.HasValue ? row.ConcentricContractionTempo.Value : 0;
            bean.ContractedPositionTempo = row.ContractedPositionTempo.HasValue ? row.ContractedPositionTempo.Value : 0;
            bean.ModificationDate = DbUtils.DbDateToUtc(row.ModificationDate);
            return bean;
        }
        public static void ToRow(TrainingExercise bean, TrainingExerciseRow row)
        {
            if (bean == null)
                return;

            row.UserId = bean.UserId;
            row.Year = bean.Year;
            row.WeekOfYear = bean.WeekOfYear;
            row.DayOfWeek = bean.DayOfWeek;
            row.TrainingDayId = bean.TrainingDayId;
            row.Id = bean.Id;
            row.BodyExerciseId = bean.BodyExerciseId;
            row.RestTime = bean.RestTime;
            if (bean.ObjectVersionNumber > 0) // Retrocompatibility
            {
                row.EccentricContractionTempo = bean.EccentricContractionTempo;
                row.StretchPositionTempo = bean.StretchPositionTempo;
                row.ConcentricContractionTempo = bean.ConcentricContractionTempo;
                row.ContractedPositionTempo = bean.ContractedPositionTempo;
            }
            row.ModificationDate = DbUtils.DateToUtc(Utils.DateTimeWithoutMs); // Set modificationDate
        }
Example #37
0
        public static void TrainingExerciseChange(ApplicationDbContext dbContext, TrainingExercise trainingExercise, bool deleted = false)
        {
            if (trainingExercise == null || (!deleted && trainingExercise.ModificationDate == null))
                return;

            var trainingDayKey = new TrainingDayKey()
            {
                UserId = trainingExercise.UserId,
                Year = trainingExercise.Year,
                WeekOfYear = trainingExercise.WeekOfYear,
                DayOfWeek = trainingExercise.DayOfWeek,
                TrainingDayId = trainingExercise.TrainingDayId
            };
            var modificationDate = deleted ? Utils.DateTimeWithoutMs : trainingExercise.ModificationDate;
            UpdateTrainingDayModificationDate(dbContext, modificationDate, trainingDayKey);

            var trainingWeekKey = new TrainingWeekKey()
            {
                UserId = trainingExercise.UserId,
                Year = trainingExercise.Year,
                WeekOfYear = trainingExercise.WeekOfYear
            };
            UpdateTrainingWeekModificationDate(dbContext, modificationDate, trainingWeekKey);
        }
        /// <summary>
        /// Update data in database
        /// </summary>
        /// <param name="trainingJournalDayExercise">data</param>
        /// <returns>updated data</returns>
        public TrainingExercise Update(TrainingExercise trainingJournalDayExercise)
        {
            if (trainingJournalDayExercise == null || string.IsNullOrWhiteSpace(trainingJournalDayExercise.UserId) ||
                trainingJournalDayExercise.Year == 0 || trainingJournalDayExercise.WeekOfYear == 0 ||
                trainingJournalDayExercise.DayOfWeek < 0 || trainingJournalDayExercise.DayOfWeek > 6 || trainingJournalDayExercise.TrainingDayId == 0 || trainingJournalDayExercise.Id == 0)
                return null;

            var row = _dbContext.TrainingExercise.Where(t => t.UserId == trainingJournalDayExercise.UserId &&
                                                                        t.Year == trainingJournalDayExercise.Year &&
                                                                        t.WeekOfYear == trainingJournalDayExercise.WeekOfYear &&
                                                                        t.DayOfWeek == trainingJournalDayExercise.DayOfWeek &&
                                                                        t.TrainingDayId == trainingJournalDayExercise.TrainingDayId &&
                                                                        t.Id == trainingJournalDayExercise.Id).FirstOrDefault();
            if (row == null)
            { // No data in database
                return Create(trainingJournalDayExercise);
            }
            else
            { //Modify Data in database
                TrainingExerciseTransformer.ToRow(trainingJournalDayExercise, row);
                _dbContext.SaveChanges();
                return GetBean(row);
            }
        }
 public TrainingExercise UpdateTrainingExercise(TrainingExercise trainingExercise, bool manageDeleteLinkItem)
 {
     TrainingExercise result = null;
     BeginTransaction();
     try
     {
         result = GetTrainingExerciseManager().UpdateTrainingExercise(trainingExercise, manageDeleteLinkItem);
         CommitTransaction();
     }
     catch (Exception exception)
     {
         _logger.LogCritical("Unable to update training exercises", exception);
         RollbackTransaction();
         throw exception;
     }
     finally
     {
         EndTransaction();
     }
     return result;
 }
        public IActionResult AddTrainingExercises(TrainingExercisesViewModel viewModel, string buttonType)
        {
            if (IncorrectHttpData(viewModel.UserId, viewModel.Year, viewModel.WeekOfYear, viewModel.DayOfWeek, viewModel.TrainingDayId))
                return View(viewModel);

            bool displayMessage = buttonType == "submit";

            int currentMuscularGroupId = 0, currentMuscleId = 0;
            if (viewModel != null)
            {
                currentMuscularGroupId = viewModel.MuscularGroupId;
                currentMuscleId = viewModel.MuscleId;
            }

            List<BodyExercise> bodyExerciseList;
            InsertViewBagOnEditTrainingExercise(out bodyExerciseList, currentMuscularGroupId, currentMuscleId);
            ModelState.Clear();

            if (ModelState.IsValid)
            {
                if(viewModel.BodyExerciseList != null)
                { // filter selected data with existing exercise
                    if (bodyExerciseList == null)
                        viewModel.BodyExerciseList = null;
                    else
                    {
                        var deleteList = new List<SelectBodyExercise>();
                        foreach(var selectBodyExercise in viewModel.BodyExerciseList)
                        {
                            if(bodyExerciseList.FirstOrDefault(c => c.Id == selectBodyExercise.Id) == null)
                            {
                                deleteList.Add(selectBodyExercise);
                            }
                        }

                        foreach (var selectBodyExercise in deleteList)
                        {
                            viewModel.BodyExerciseList.Remove(selectBodyExercise);
                        }
                    }
                }

                if (viewModel.BodyExerciseList == null || viewModel.BodyExerciseList.Count(b => b.Selected == true) == 0)
                {
                    CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList);
                    if (displayMessage)
                        ModelState.AddModelError(string.Empty, string.Format(Translation.THE_P0_FIELD_IS_REQUIRED, Translation.BODY_EXERCISES));
                    return View(viewModel);
                }

                var trainingDayKey = new TrainingDayKey() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear, DayOfWeek = viewModel.DayOfWeek, TrainingDayId = viewModel.TrainingDayId };
                var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true };
                var trainingDay = _trainingDaysService.GetTrainingDay(trainingDayKey, trainingDayScenario);

                if(trainingDay == null)
                {
                    CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList);
                    ModelState.AddModelError(string.Empty, string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_DAY));
                    return View(viewModel);
                }

                if (trainingDay.TrainingExercises == null)
                    trainingDay.TrainingExercises = new List<TrainingExercise>();

                int bodyExerciseCount = trainingDay.TrainingExercises.Count;
                int maxId = 1;
                if (bodyExerciseCount > 0)
                    maxId = trainingDay.TrainingExercises.Max(t => t.Id) + 1;
                TrainingExercise trainingExercise;
                var bodyExerciseSelectedList = viewModel.BodyExerciseList.Where(b => b.Selected == true);
                foreach (var bodyExercise in bodyExerciseSelectedList)
                {
                    //Only manage add in this page
                    trainingExercise = new TrainingExercise()
                    {
                        UserId = viewModel.UserId,
                        Year = viewModel.Year,
                        WeekOfYear = viewModel.WeekOfYear,
                        DayOfWeek = viewModel.DayOfWeek,
                        TrainingDayId = viewModel.TrainingDayId,
                        Id = maxId,
                        BodyExerciseId = bodyExercise.Id,
                        RestTime = 0,
                        EccentricContractionTempo = 1,
                        StretchPositionTempo = 0,
                        ConcentricContractionTempo = 1,
                        ContractedPositionTempo = 0
                    };
                    trainingDay.TrainingExercises.Add(trainingExercise);
                    maxId++;
                }
                if(bodyExerciseCount != trainingDay.TrainingExercises.Count)
                { //data changed
                    _trainingDaysService.UpdateTrainingDay(trainingDay, trainingDayScenario);
                }

                return GetViewActionResult(viewModel.UserId, viewModel.Year, viewModel.WeekOfYear, viewModel.DayOfWeek);
            }

            CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList);
            return View(viewModel);
        }
 private void CompleteTrainingExerciseWithSet(TrainingExercise trainingExercise)
 {
     if (trainingExercise != null)
     {
         var criteria = new TrainingExerciseSetCriteria()
         {
             UserId = new StringCriteria() { Equal = trainingExercise.UserId },
             Year = new IntegerCriteria() { Equal = trainingExercise.Year },
             WeekOfYear = new IntegerCriteria() { Equal = trainingExercise.WeekOfYear },
             DayOfWeek = new IntegerCriteria() { Equal = trainingExercise.DayOfWeek },
             TrainingDayId = new IntegerCriteria() { Equal = trainingExercise.TrainingDayId },
             TrainingExerciseId = new IntegerCriteria() { Equal = trainingExercise.Id }
         };
         trainingExercise.TrainingExerciseSets = _trainingExerciseSetModule.Find(criteria);
     }
 }
        public TrainingExercise UpdateTrainingExercise(TrainingExercise trainingExercise, bool manageDeleteLinkItem)
        {
            var result = _trainingDayExerciseModule.Update(trainingExercise);
            SynchroManager.TrainingExerciseChange(DbContext, result);

            if (result != null && trainingExercise.TrainingExerciseSets != null)
            {
                if(manageDeleteLinkItem)
                {
                    var setList = _trainingExerciseSetModule.Find(new TrainingExerciseSetCriteria()
                    {
                        UserId = new StringCriteria() { Equal = trainingExercise.UserId },
                        Year = new IntegerCriteria() { Equal = trainingExercise.Year },
                        WeekOfYear = new IntegerCriteria() { Equal = trainingExercise.WeekOfYear },
                        DayOfWeek = new IntegerCriteria() { Equal = trainingExercise.DayOfWeek },
                        TrainingDayId = new IntegerCriteria() { Equal = trainingExercise.TrainingDayId },
                        TrainingExerciseId = new IntegerCriteria() { Equal = trainingExercise.Id }
                    });

                    if(setList != null && setList.Count > 0)
                    {
                        foreach (var set in setList)
                        {
                            _trainingExerciseSetModule.Delete(set);
                        }
                    }
                }

                result.TrainingExerciseSets = new List<TrainingExerciseSet>();
                foreach (var set in trainingExercise.TrainingExerciseSets)
                {
                    result.TrainingExerciseSets.Add(_trainingExerciseSetModule.Update(set));
                }
            }

            return result;
        }