示例#1
0
        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));
        }