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); }
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); }
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); }
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 }
/// <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 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(); }
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()); }
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 } }); }
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")); }
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); }
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); }
public float FindRepsPerSet(TrainingExercise trainingExercise) { var sets = FindAllForTraining(trainingExercise).ToArray(); if (!sets.Any()) { return(0); } return(sets.Sum(x => x.Reps) / sets.Length); }
public float FindTotalReps(TrainingExercise trainingExercise) { var sets = FindAllForTraining(trainingExercise).ToArray(); if (!sets.Any()) { return(0); } return(sets.Sum(x => x.Reps)); }
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)); }
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); }
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)); }
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()); }
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; }
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 }
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; }