public async Task <IActionResult> Edit(int id, [Bind("ExerciseID,Exercise_Name,Planned_Set_Number,Planned_Reps,Planned_Weight")] PlannedWorkout plannedWorkout) { if (id != plannedWorkout.ExerciseID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(plannedWorkout); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PlannedWorkoutExists(plannedWorkout.ExerciseID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(plannedWorkout)); }
public PlannedWorkoutVM(PlannedWorkout model, UserDefaults defaults, bool includeReps) : base(model) { TimeOfDay = model.TimeOfDay; ScheduledDate = model.ScheduledDate.ToString(Constants.DateOnlyFormatString); Order = model.Order; PlannedRepetitions = includeReps ? model.PlannedRepetitions? .Select(x => new PlannedRepetitionVM(x, defaults)).OrderBy(x => x.Order).ToList() : null; WorkoutSummary = new PlannedWorkoutSummaryVM(model.PlannedRepetitions, defaults); }
public async Task <bool> Create(PlannedWorkoutVM workout, int userId) { await Extensions.FindUser(userId, _userRepository, _cache); await SetValidOrder(workout, userId); var model = new PlannedWorkout(workout, userId, 0); var entriesSaved = await _plannedWorkoutRepository.Create(model); return(entriesSaved == (model.PlannedRepetitions.Count + 1)); }
public async Task <IActionResult> Create([Bind("ExerciseID,Exercise_Name,Planned_Set_Number,Planned_Reps,Planned_Weight")] PlannedWorkout plannedWorkout) { if (ModelState.IsValid) { _context.Add(plannedWorkout); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(plannedWorkout)); }
private bool VerifyPlannedRepetitionIds(CompletedWorkoutVM completedWorkout, PlannedWorkout plannedWorkout) { var completedReferencingPlanned = completedWorkout.CompletedRepetitions.Where(x => x.PlannedRepetitionId.HasValue) .Select(x => x.PlannedRepetitionId.Value).Distinct().ToList(); if (completedReferencingPlanned.Count == 0) { return(true); } var plannedRepetitionIds = plannedWorkout.PlannedRepetitions.Select(x => x.Id).ToList(); return(completedReferencingPlanned.Any(x => !plannedRepetitionIds.Contains(x))); }