Exemplo n.º 1
0
        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);
        }
Exemplo n.º 4
0
 public void Arrive(ArriveEvent @event)
 {
     Location = @event.Port;
 }