Example #1
0
        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));
        }
Example #2
0
        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());
        }
Example #3
0
        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());
        }