public async Task <RoutineDto> CreateRoutine(RoutineDto routineDto) { var exercises = routineDto.Exercises; var validIds = (await _exerciseRepository.GetValidIds()).ToList(); foreach (var exercise in exercises) { if (!validIds.Contains(exercise.Id)) { _logger.LogInformation("Error while creating a Routine"); throw new ExerciseNotFoundException(); } } var result = await _routineRepository.CreateRoutine(routineDto); return(result); }
public IActionResult Post(RoutineCreateDto routineCreateDto) { var userIdString = User.FindFirst(ClaimTypes.Name)?.Value; var userId = int.Parse(userIdString); routineCreateDto.UserId = userId; var validationResult = _routineCreateDtoValidator.Validate(routineCreateDto); if (!validationResult.IsValid) { return(BadRequest(ValidationHelpers.ConvertValidationResult(validationResult))); } var routine = _routineRepository.CreateRoutine(routineCreateDto); return(Created($"api/routine/{routine.Id}", routine)); }