public async Task <IActionResult> AddTrainingToHistory([FromBody] AddTrainingToHistoryRequest request) { var training = await _trainingService.GetTrainingByIdAsync(request.TrainingId); if (training == null) { return(NotFound()); } List <ExerciseHistory> histories = new List <ExerciseHistory>(); foreach (ExerciseHistoryRequest exercise in request.Exercises) { histories.Add(new ExerciseHistory { ExerciseId = exercise.ExerciseId, ExerciseHistoryStats = new List <ExerciseHistoryStats> { _mapper.Map <ExerciseHistoryStats>(exercise.ExerciseHistoryStat) } }); } var updated = await _trainingService.AddTrainingToHistory(training, histories); if (!updated) { return(BadRequest(new ErrorResponse("Wystąpił błąd podczas dodawania treningu do historii"))); } return(Ok()); }
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); }