public async Task ArrivalAsync(string eventId, string shipCode, string portCode) { var port = await serviceProvider.GetService <ISingleQueryPortByIntCode>().UseIntCode(portCode).ExecuteAsync(); var shipQuery = serviceProvider.GetService <ISingleQueryShipByRegCode>().UseRegCode(shipCode); var shipRef = referenceService.GetRef(shipQuery); var @event = new ArriveEvent(DateTime.Now, eventId, shipRef, port); await queueService.AddEvent(@event); }
public void ArriveShipEventSuccess() { var p = new Port() { Name = "port name", IntlCode = "intl code of port" }; var s = new Ship("id", "ship name", "ship reg code", Port.AT_SEA); var @event = new ArriveEvent(DateTime.Now, "id", new TestEntityRef <Ship>("id", s), p); @event.Process(); Assert.Equal("ship name", s.Name); Assert.Equal("ship reg code", s.RegistrationCode); Assert.NotNull(s.Location); Assert.Equal(p, s.Location); }
public void ArriveEventDataMap() { var configuration = new MapperConfiguration(cfg => { cfg.AddMaps(typeof(ArriveEventData).Assembly); }); var mapper = new Mapper(configuration); var arriveEvent = new ArriveEvent(DateTime.Now, "id", new TestEntityRef <Ship>("ship id", null), new Port() { Id = "port id", Name = "port name", IntlCode = "intl code" }); var arriveEventData = mapper.Map <ArriveEventData>(arriveEvent); Assert.Equal(arriveEvent.Id, arriveEventData.Id); Assert.Equal(arriveEvent.Ship.Id, arriveEventData.ShipId); Assert.Equal(arriveEvent.Port.IntlCode, arriveEventData.PortIntlCode); Assert.Equal(new DateTimeOffset(arriveEvent.Occured).ToUnixTimeMilliseconds(), arriveEventData.Occured); Assert.Equal(new DateTimeOffset(arriveEvent.Recorded).ToUnixTimeMilliseconds(), arriveEventData.Recorded); }
public void Arrive(ArriveEvent @event) { Location = @event.Port; }