示例#1
0
        protected override void DoHandle(CargoHandledMessage message)
        {
            HandlingEventType lastKnownEvent    = (HandlingEventType)message.LastKnownEventType;
            HandlingEventType?nextExpectedEvent = null;

            if (message.NextExpectedEventType != null)
            {
                nextExpectedEvent = (HandlingEventType)message.NextExpectedEventType;
            }
            ReportingDataContext context = new ReportingDataContext();
            Cargo cargo = context.Cargos.First(x => x.TrackingId == message.TrackingId);

            cargo.UpdateHistory(
                nextExpectedEvent,
                message.NextExpectedLocation,
                lastKnownEvent,
                message.LastKnownLocation,
                (RoutingStatus)message.RoutingStatus,
                (TransportStatus)message.TransportStatus,
                message.EstimatedTimeOfArrival,
                message.IsUnloaded,
                message.IsMisdirected,
                message.CalculatedAt);

            context.SubmitChanges();
        }
        protected override void DoHandle(CargoRegisteredMessage message)
        {
            Cargo cargo = new Cargo(message.TrackingId, message.Origin, message.Destination, message.ArrivalDeadline);
            ReportingDataContext context = new ReportingDataContext();

            context.Cargos.InsertOnSubmit(cargo);

            context.SubmitChanges();
        }
示例#3
0
        protected override void DoHandle(CargoAssignedToRouteMessage message)
        {
            ReportingDataContext context = new ReportingDataContext();
            Cargo cargo = context.Cargos.First(x => x.TrackingId == message.TrackingId);

            cargo.RouteSpecification = message.Legs;

            context.SubmitChanges();
        }
示例#4
0
        protected override void DoHandle(CargoDestinationChangedMessage message)
        {
            ReportingDataContext context = new ReportingDataContext();
            Cargo cargo = context.Cargos.First(x => x.TrackingId == message.TrackingId);

            cargo.UpdateRouteSpecification(message.Origin, message.Destination, message.ArrivalDeadline);

            context.SubmitChanges();
        }