public IActionResult Create([FromBody] TicketDetails ticket) { CreateTicketEvent @event = new CreateTicketEvent(ticket); TicketCreatedEvent outputEvt = ticketService.Create(@event); Ticket output = Ticket.FromTicketDetails(outputEvt.Object); return(CreatedAtRoute("Get", new { code = outputEvt.Object.Code }, output)); }
public TicketCreatedEvent Create(CreateTicketEvent @event) { Ticket entity = Ticket.FromTicketDetails(@event.Object); // Use case rules go here // Use service composition to call other services entity.Creation = new DateTime(); Account account = accountRepository.FindOne(@event.Object.Account); entity.Account = account; entity = ticketRepository.Save(entity); return(new TicketCreatedEvent(entity.ToTicketDetails())); }
public void TestCreateTicket() { TicketDetails ticket = new TicketDetails(); ticket.Account = "root"; ticket.Priority = 5; CreateTicketEvent @event = new CreateTicketEvent(ticket); TicketCreatedEvent evtOutput = ticketService.Create(@event); Assert.Equal(ResponseCode.OK, evtOutput.Code); TicketDetails output = evtOutput.Object; Assert.Equal(5, output.Priority); Assert.True(output.Code > 0); }
public void Handle(CreateTicketEvent message) { ActivateScreen(Screens.CreateTicket); CreateTicketView.Instance.flightId = message.flightId; }