public async Task <IActionResult> PostRoutine([FromRoute] int?userId, [FromBody] WorkoutRoutineDTO routineDto) { if (userId == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } if (!await _repository.UserExists(userId)) { return(NotFound("User Doesn't Exist")); } routineDto.WTUserID = userId; var routineEntity = Mapper.Map <WorkoutRoutine>(routineDto); var result = await _repository.AddRoutineForUser(userId, routineEntity); if (result == false) { return(BadRequest("Add Failed for Routine...")); } if (routineEntity.ImageBytes != null && routineEntity.ImageBytes.Length != 0) { var imageResult = await SaveRoutineImage(routineEntity); } var routineToReturn = Mapper.Map <WorkoutRoutineDTO>(routineEntity); return(CreatedAtRoute( routeName: "GetRoutine", routeValues: new { userId = userId, routineId = routineToReturn.ID }, value: routineToReturn)); }
public async Task <IActionResult> UpdateRoutine([FromRoute] int?userId, [FromRoute] int?routineId, [FromBody] WorkoutRoutineDTO routineDto) { if (userId == null || routineId == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } routineDto.WTUserID = userId; routineDto.ID = (int)routineId; var wtURoutineEntity = Mapper.Map <WorkoutRoutine>(routineDto); var result = await _repository.UpdateRoutine(wtURoutineEntity); if (result == false) { return(BadRequest("Update failed for routine...")); } if (wtURoutineEntity.ImageBytes != null && wtURoutineEntity.ImageBytes.Length != 0) { var imageResult = await SaveRoutineImage(wtURoutineEntity); } return(NoContent()); }
public async Task <IActionResult> UpdateDatesForRoutine([FromRoute] int?userId, [FromRoute] int?programId, [FromBody] WorkoutRoutineDTO routine) { if (userId == null || programId == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } var routineProgramEntriy = new RoutineProgramEntry { WorkoutRoutineID = routine.ID, WorkoutProgramID = programId, PlannedDates = routine.PlannedDates }; var result = await _repository.UpdateDatesForRoutine(userId, programId, routineProgramEntriy); if (result == false) { return(BadRequest("Update of Dates for Routine Failed...")); } return(NoContent()); }