Пример #1
0
        public async Task <IActionResult> DNC(PackageFailedDeliveryEvent packageFailedDeliveryEvent)
        {
            await this.eventStoreService.Failed(packageFailedDeliveryEvent);

            this.messengerService.FailedDelivery(packageFailedDeliveryEvent);
            return(this.Ok());
        }
Пример #2
0
        public async Task <bool> FailedDelivery(PackageFailedDeliveryEvent failedDeliveryEvent)
        {
            // Notes on this are similar to NetworkScan()
            var update = Builders <Package> .Update
                         .Set(t => t.State, PackageState.FailedDelivery)
                         .Set(t => t.Notes, new BsonDocument("failureReason", failedDeliveryEvent.FailedReason));

            // Could DRY this statement, easier to read for demo
            var result = await this.collection.UpdateOneAsync(x => x.Barcode == failedDeliveryEvent.Barcode, update);

            return(result.ModifiedCount == 1);
        }
Пример #3
0
 public void FailedDelivery(PackageFailedDeliveryEvent packageFailedDeliveryEvent)
 {
     this.rabbitMessenger.SendMessage("package.driver-scan", packageFailedDeliveryEvent, "dnc");
 }
Пример #4
0
 public async Task Failed(PackageFailedDeliveryEvent packageFailedDeliveryEvent)
 {
     await this.Insert(packageFailedDeliveryEvent.Barcode, PackageEventType.DeliveryFailed, packageFailedDeliveryEvent);
 }