private static void RegisterCommandHandlers(IConcertService concertService, CommandHandlerCollection commandHandlers) { var factory = new SimpleEventHandlerFactory(); commandHandlers.AddHandler(typeof (PurchaseTicketCommand), factory.CreateEventHandler(concertService, (IConcertService service, IPurchaseTicketCommand cmd, long seq, bool endOfBatch) => { concertService.PurchaseTicket(/*IPurchaseTicketCommand data*/); })); commandHandlers.AddHandler(typeof(CancelTicketCommand), factory.CreateEventHandler(concertService, (IConcertService service, ICancelTicketCommand cmd, long seq, bool endOfBatch) => { concertService.CancelTicket(/*ICancelTicketCommand data*/); })); commandHandlers.AddHandler(typeof(CreateConcertCommand), factory.CreateEventHandler(concertService, (IConcertService service, ICreateConcertCommand cmd, long seq, bool endOfBatch) => { concertService.CreateConcert(/*ICreateConcertCommand data*/); })); }
public CreateUpdateConcertResponse CreateConcert([FromUri] bool tweetConcert, [FromBody] Concert concert) { var requestId = Guid.NewGuid().ToString("N"); RequestValidator.ValidateWebRequestHeaders(Request); if (concert == null) { throw new ClientRequestException(HttpStatusCode.BadRequest, "Failed to parse Concert."); } if (!concert.ValidateConcert()) { throw new ClientRequestException(HttpStatusCode.BadRequest, "One or more Concert property is null or incorrect."); } var responseModel = _concertService.CreateConcert(requestId, concert); responseModel.TweetUrl = tweetConcert ? _tweetService.TweetConcert(concert) : string.Empty; return(responseModel); }