public ActionResult <TerminalDto> CreateTerminal(Guid siteId, TerminalForCreationDto terminal) { var terminalEntity = _mapper.Map <Entities.Terminal>(terminal); terminalEntity.SiteId = siteId; _terminalRepository.AddTerminal(terminalEntity); _terminalRepository.Save(); var terminalToReturn = _mapper.Map <TerminalDto>(terminalEntity); var links = CreateLinksForTerminal(siteId.ToString(), terminalToReturn.Id, null); var linkedResourceToReturn = terminalToReturn.ShapeData(null) as IDictionary <string, object>; linkedResourceToReturn.Add("links", links); return(CreatedAtRoute("GetTerminal", new { siteId, terminalId = linkedResourceToReturn["Id"] }, linkedResourceToReturn)); }