private Concert ConcertWithCurrentDateAndConcertDate(DateTime now, DateTime concertDate) { SystemDate systemDate = new SystemDate(new DateTime(2017, 12, 01)); var concert = concertFactory.Create("a", "b", "c", concertDate, systemDate); return(concert); }
public Task Consume(ConsumeContext <CreateConcertCommand> context) { CreateConcertCommand command = context.Message; Logger.LogInformation($"Processing command Create concert: Maximum number of tickets:{command.MaximumNumberOfTickets}, Place: {command.Place}, Title: {command.Title} - started. "); try { Concert concert = ConcertFactory.Create(command.Place, command.MaximumNumberOfTickets, command.Date, command.Title, ConcertRepository.GetNextId()); ConcertRepository.Add(concert); foreach (var @event in concert.Changes) { var publisher = EventHandlerFactory.CreatePublisher(@event); publisher.Publish(@event, context); } Logger.LogInformation($"Processing command Create concert: Maximum number of tickets:{command.MaximumNumberOfTickets}, Place: {command.Place}, Title: {command.Title} - finished successfully. "); } catch (IntialTicketsCapacityNotSet ticketsCapacityNotSetException) { Logger.LogError($"{ticketsCapacityNotSetException.Message}. Can not execute command Create concert: Maximum number of tickets:{command.MaximumNumberOfTickets}, Place: {command.Place}, Title: {command.Title}.Command rejected. "); } return(Task.CompletedTask); }