public async Task <ActionResult <HateoasResponse> > GetAllExercisesByCategory(Guid categoryId, int index, int size) { try { GetExercisesByCategoryQuery query = new(categoryId, index, size); var exercises = await _mediator.Send(query); return(Ok(_sender.SendResult(exercises, GenericLinks.GetExerciseLinks(), $"The exercises whose category id is {categoryId} have been reached!"))); } catch (Exception ex) { var errorResponse = _sender.SendError(ex, GenericLinks.GetExerciseLinks()); Response.StatusCode = errorResponse.StatusCode; return(errorResponse); } }
public async Task <ActionResult <HateoasResponse> > DeleteExercise(Guid id) { try { DeleteExerciseCommand command = new(id); var exerciseDeleted = new { DeletedExerciseId = await _mediator.Send(command) }; return(Ok(_sender.SendResult(exerciseDeleted, GenericLinks.GetExerciseLinks(), $"The exercise whose id is {exerciseDeleted.DeletedExerciseId} has been deleted!"))); } catch (Exception ex) { var errorResponse = _sender.SendError(ex, GenericLinks.GetExerciseLinks()); Response.StatusCode = errorResponse.StatusCode; return(errorResponse); } }
public async Task <ActionResult <HateoasResponse> > GetExercisesNameAndIdByCategory(Guid categoryId) { try { GetExercisesNameAndIdByCategoryQuery query = new(categoryId); var result = await _mediator.Send(query); return(Ok(_sender.SendResult(result, GenericLinks.GetExerciseLinks(), "The exercise count with that specific category has been reached!"))); } catch (Exception ex) { var errorResponse = _sender.SendError(ex, GenericLinks.GetExerciseLinks()); Response.StatusCode = errorResponse.StatusCode; return(errorResponse); } }
public async Task <ActionResult <HateoasResponse> > CreateExercise([FromForm] CreateExerciseRequest model) { try { CreateExerciseCommand command = new(model); var exercise = await _mediator.Send(command); return(Ok(_sender.SendResult(exercise, GenericLinks.GetExerciseLinks(), $"The exercise whose name is {exercise.ExerciseName} has been created!"))); } catch (Exception ex) { var errorResponse = _sender.SendError(ex, GenericLinks.GetExerciseLinks()); Response.StatusCode = errorResponse.StatusCode; return(errorResponse); } }
public async Task <ActionResult <HateoasResponse> > GetIndexesCount(Guid categoryId, int size) { try { GetIndexesCount query = new(categoryId, size); var count = new { Count = await _mediator.Send(query) }; return(Ok(_sender.SendResult(count, GenericLinks.GetExerciseLinks(), "The exercise count with that specific category has been reached!"))); } catch (Exception ex) { var errorResponse = _sender.SendError(ex, GenericLinks.GetExerciseLinks()); Response.StatusCode = errorResponse.StatusCode; return(errorResponse); } }