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)); }