public async Task <bool> HandleAsync(HasExceededConsentedQuantity message)
        {
            var remaining = await movementsQuantity.Remaining(message.NotificationId);

            var quantity = new ShipmentQuantity(message.Quantity, message.Units);

            return(quantity > remaining);
        }
Esempio n. 2
0
        public async Task <RuleResult <MovementRules> > GetResult(Guid notificationId)
        {
            var remaining = await movementsQuantity.Remaining(notificationId);

            var messageLevel = remaining < new ShipmentQuantity(0, remaining.Units)
                ? MessageLevel.Error
                : MessageLevel.Success;

            return(new RuleResult <MovementRules>(MovementRules.TotalIntendedQuantityExceeded, messageLevel));
        }
        public async Task ReturnsCorrectQuantityRemaining()
        {
            var movements = new[] { movement };

            SetUpRepositoryCalls(movements, shipmentInfo);

            var result = await movementQuantity.Remaining(NotificationId);

            Assert.Equal(new ShipmentQuantity(15, ShipmentQuantityUnits.Kilograms), result);
        }