public async Task <IActionResult> GetById(string id) { try { var entity = await employeeApp.GetAsync(id); if (entity.IsNull()) { return(NotFound()); } var model = EmployeeModel.ToModel(entity); var urlHelper = urlHelperFactory.GetUrlHelper(ControllerContext); var getByIdlink = GetEmployeeByIdLink(urlHelper, model.Id, true); var deleteLink = DeleteEmployeeLink(urlHelper, model.Id); var updateLink = UpdateEmployeeLink(urlHelper, model.Id); model.Links = new List <Link> { getByIdlink, updateLink, deleteLink }; return(Ok(model)); } catch (InvalidParameterException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(InternalServerError(new UnpredictableException(ex))); } }