コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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);
            }
        }