public async Task <IActionResult> Create([FromBody] SuggestionModel suggestion)
        {
            suggestion.IsNull().Throw <InvalidParameterException>(string.Format(Messages.CannotBeNull, "suggestion"));

            var entity = await suggestionApp.SaveAsync(suggestion.ToDomain());

            var result = SuggestionModel.ToModel(entity);

            var urlHelper   = urlHelperFactory.GetUrlHelper(ControllerContext);
            var getByIdlink = GetSuggestionByIdLink(urlHelper, result.Id);
            var deleteLink  = DeleteSuggestionLink(urlHelper, result.Id);
            var updateLink  = UpdateSuggestionLink(urlHelper, result.Id);

            result.Links = new List <Link>
            {
                getByIdlink,
                updateLink,
                deleteLink
            };

            return(new CreatedResult(getByIdlink.Href, result));
        }