コード例 #1
0
 public static NotificationMovementsSummary Load(Guid notificationId,
                                                 string notificationNumber,
                                                 NotificationType notificationType,
                                                 int intendedTotalShipments,
                                                 int currentTotalShipments,
                                                 int activeLoadsPermitted,
                                                 int currentActiveLoads,
                                                 decimal intendedQuantity,
                                                 decimal quantityReceived,
                                                 ShipmentQuantityUnits units,
                                                 FinancialGuaranteeStatus financialGuaranteeStatus,
                                                 UKCompetentAuthority competentAuthority,
                                                 NotificationStatus notificationStatus,
                                                 ShipmentQuantity averageTonnageInfo)
 {
     return(new NotificationMovementsSummary
     {
         NotificationId = notificationId,
         NotificationNumber = notificationNumber,
         NotificationType = notificationType,
         IntendedTotalShipments = intendedTotalShipments,
         CurrentTotalShipments = currentTotalShipments,
         ActiveLoadsPermitted = activeLoadsPermitted,
         CurrentActiveLoads = currentActiveLoads,
         IntendedQuantity = intendedQuantity,
         QuantityReceived = quantityReceived,
         Units = units,
         FinancialGuaranteeStatus = financialGuaranteeStatus,
         CompetentAuthority = competentAuthority,
         NotificationStatus = notificationStatus,
         AverageDataUnit = averageTonnageInfo.Units,
         AverageTonnage = averageTonnageInfo.Quantity
     });
 }
コード例 #2
0
 public ImportMovementReceipt(Guid movementId, ShipmentQuantity quantity, DateTime date)
 {
     MovementId = movementId;
     Quantity = quantity.Quantity;
     Unit = quantity.Units;
     Date = date;
 }
コード例 #3
0
 private List <ReceiptRecoveryMovement> GetTestData(ShipmentQuantityUnits unit)
 {
     return(new List <ReceiptRecoveryMovement>()
     {
         new ReceiptRecoveryMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 1,
             Unit = unit,
             Quantity = 1.1m
         },
         new ReceiptRecoveryMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 2,
             Unit = unit,
             Quantity = 1.1m
         },
         new ReceiptRecoveryMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 3,
             Unit = unit,
             Quantity = 10m
         }
     });
 }
コード例 #4
0
        public async Task <ImportMovementPartialRejection> PartailReject(Guid movementId,
                                                                         DateTime date,
                                                                         string reason,
                                                                         decimal actualQuantity,
                                                                         ShipmentQuantityUnits actualUnit,
                                                                         decimal rejectedQuantity,
                                                                         ShipmentQuantityUnits rejectedUnit,
                                                                         DateTime?wasteDisposedDate)
        {
            var movement = await movementRepository.Get(movementId);

            if (date < movement.ActualShipmentDate)
            {
                throw new InvalidOperationException("The when the waste was received date cannot be before the actual date of shipment.");
            }
            if (date > SystemTime.UtcNow.Date)
            {
                throw new InvalidOperationException("The when the waste was received date cannot be in the future.");
            }

            var partialRejection = movement.PartialReject(movementId, date, reason, actualQuantity, actualUnit, rejectedQuantity, rejectedUnit, wasteDisposedDate);

            importMovementPartailRejectionRepository.Add(partialRejection);

            return(partialRejection);
        }
コード例 #5
0
 public RecordReceiptInternal(Guid movementId, DateTime receivedDate, decimal actualQuantity, ShipmentQuantityUnits units)
 {
     MovementId     = movementId;
     ReceivedDate   = receivedDate;
     ActualQuantity = actualQuantity;
     Units          = units;
 }
コード例 #6
0
        private ShipmentInfo GetTestShipmentInfo(ShipmentQuantityUnits unit)
        {
            var shipmentPeriod   = new ShipmentPeriod(DateTime.Now, DateTime.Now.AddMonths(12), true);
            var shipmentQuantity = new ShipmentQuantity(1.0m, unit);

            return(new ShipmentInfo(notificationId, shipmentPeriod, 100, shipmentQuantity));
        }
コード例 #7
0
 public ImportMovementReceipt(Guid movementId, ShipmentQuantity quantity, DateTime date)
 {
     MovementId = movementId;
     Quantity   = quantity.Quantity;
     Unit       = quantity.Units;
     Date       = date;
 }
コード例 #8
0
ファイル: CreateController.cs プロジェクト: DEFRA/prsd-iws
 public TempMovement(int numberToCreate, DateTime shipmentDate, decimal quantity,
                     ShipmentQuantityUnits shipmentQuantityUnits, IList <PackagingType> packagingTypes)
 {
     NumberToCreate        = numberToCreate;
     ShipmentDate          = shipmentDate;
     Quantity              = quantity;
     ShipmentQuantityUnits = shipmentQuantityUnits;
     PackagingTypes        = packagingTypes;
 }
コード例 #9
0
        public void Equals_SameQuantityAndUnit_ReturnsTrue(string quantity, ShipmentQuantityUnits unit)
        {
            var decimalQuantity = Convert.ToDecimal(quantity);

            var unit1 = new ShipmentQuantity(decimalQuantity, unit);
            var unit2 = new ShipmentQuantity(decimalQuantity, unit);

            Assert.True(unit1.Equals(unit2));
        }
コード例 #10
0
        public void Equals_SameQuantityAndUnit_ReturnsTrue(string quantity, ShipmentQuantityUnits unit)
        {
            var decimalQuantity = Convert.ToDecimal(quantity);

            var unit1 = new ShipmentQuantity(decimalQuantity, unit);
            var unit2 = new ShipmentQuantity(decimalQuantity, unit);

            Assert.True(unit1.Equals(unit2));
        }
コード例 #11
0
        public void Add_SameUnitType_ReturnsExpected(ShipmentQuantityUnits unit)
        {
            var unit1 = new ShipmentQuantity(1, unit);
            var unit2 = new ShipmentQuantity(2, unit);

            var expected = new ShipmentQuantity(3, unit);

            Assert.Equal(expected, unit1 + unit2);
        }
コード例 #12
0
        public void Add_SameUnitType_ReturnsExpected(ShipmentQuantityUnits unit)
        {
            var unit1 = new ShipmentQuantity(1, unit);
            var unit2 = new ShipmentQuantity(2, unit);

            var expected = new ShipmentQuantity(3, unit);

            Assert.Equal(expected, unit1 + unit2);
        }
コード例 #13
0
ファイル: RecordReceipt.cs プロジェクト: DEFRA/prsd-iws
 public RecordReceipt(Guid importMovementId,
                      DateTime date,
                      ShipmentQuantityUnits unit,
                      decimal quantity)
 {
     ImportMovementId = importMovementId;
     Date             = date;
     Unit             = unit;
     Quantity         = quantity;
 }
コード例 #14
0
ファイル: CreateMovements.cs プロジェクト: DEFRA/prsd-iws
 public CreateMovements(Guid notificationId, int numberToCreate, DateTime actualMovementDate,
                        decimal quantity, ShipmentQuantityUnits units, IList <PackagingType> packagingTypes)
 {
     NotificationId     = notificationId;
     NumberToCreate     = numberToCreate;
     ActualMovementDate = actualMovementDate;
     Quantity           = quantity;
     Units          = units;
     PackagingTypes = packagingTypes;
 }
コード例 #15
0
        public static decimal ConvertToTarget(ShipmentQuantityUnits source, ShipmentQuantityUnits target, decimal value, bool throwOnLossOfPrecision = true)
        {
            if (source == target)
            {
                return(value);
            }

            if (ShipmentQuantityUnitsMetadata.IsWeightUnit(source) && ShipmentQuantityUnitsMetadata.IsVolumeUnit(target))
            {
                ThrowOnInvalidConversion(source, target);
            }

            if (ShipmentQuantityUnitsMetadata.IsVolumeUnit(source) && ShipmentQuantityUnitsMetadata.IsWeightUnit(target))
            {
                ThrowOnInvalidConversion(source, target);
            }

            if (source == ShipmentQuantityUnits.Tonnes && target == ShipmentQuantityUnits.Kilograms)
            {
                return(TonnesToKilograms(value));
            }

            if (source == ShipmentQuantityUnits.CubicMetres && target == ShipmentQuantityUnits.Litres)
            {
                return(CubicMetersToLitres(value));
            }

            if (source == ShipmentQuantityUnits.Kilograms && target == ShipmentQuantityUnits.Tonnes)
            {
                var convertedValue = KilogramsToTonnes(value);

                if (WouldLosePrecision(convertedValue, throwOnLossOfPrecision))
                {
                    ThrowOnPrecisionLoss(source, target, value);
                }

                return(convertedValue);
            }

            if (source == ShipmentQuantityUnits.Litres && target == ShipmentQuantityUnits.CubicMetres)
            {
                var convertedValue = LitresToCubicMeters(value);

                if (WouldLosePrecision(convertedValue, throwOnLossOfPrecision))
                {
                    ThrowOnPrecisionLoss(source, target, value);
                }

                return(convertedValue);
            }

            ThrowOnInvalidConversion(source, target);

            throw new InvalidOperationException();
        }
コード例 #16
0
        public static decimal ConvertToTarget(ShipmentQuantityUnits source, ShipmentQuantityUnits target, decimal value, bool throwOnLossOfPrecision = true)
        {
            if (source == target)
            {
                return value;
            }

            if (ShipmentQuantityUnitsMetadata.IsWeightUnit(source) && ShipmentQuantityUnitsMetadata.IsVolumeUnit(target))
            {
                ThrowOnInvalidConversion(source, target);
            }

            if (ShipmentQuantityUnitsMetadata.IsVolumeUnit(source) && ShipmentQuantityUnitsMetadata.IsWeightUnit(target))
            {
                ThrowOnInvalidConversion(source, target);
            }

            if (source == ShipmentQuantityUnits.Tonnes && target == ShipmentQuantityUnits.Kilograms)
            {
                return TonnesToKilograms(value);
            }

            if (source == ShipmentQuantityUnits.CubicMetres && target == ShipmentQuantityUnits.Litres)
            {
                return CubicMetersToLitres(value);
            }

            if (source == ShipmentQuantityUnits.Kilograms && target == ShipmentQuantityUnits.Tonnes)
            {
                var convertedValue = KilogramsToTonnes(value);

                if (WouldLosePrecision(convertedValue, throwOnLossOfPrecision))
                {
                    ThrowOnPrecisionLoss(source, target, value);
                }

                return convertedValue;
            }

            if (source == ShipmentQuantityUnits.Litres && target == ShipmentQuantityUnits.CubicMetres)
            {
                var convertedValue = LitresToCubicMeters(value);

                if (WouldLosePrecision(convertedValue, throwOnLossOfPrecision))
                {
                    ThrowOnPrecisionLoss(source, target, value);
                }

                return convertedValue;
            }

            ThrowOnInvalidConversion(source, target);

            throw new InvalidOperationException();
        }
コード例 #17
0
 public void CheckLosingPrecisionThrows(ShipmentQuantityUnits source, ShipmentQuantityUnits target, decimal value)
 {
     try
     {
         ShipmentQuantityUnitConverter.ConvertToTarget(source, target, value);
     }
     catch (InvalidOperationException ex)
     {
         Assert.Contains("would lose precision", ex.Message);
     }
 }
コード例 #18
0
        public void Equals_UnconvertableUnits_ReturnsFalse(string quantity1, ShipmentQuantityUnits unit1,
                                                           string quantity2, ShipmentQuantityUnits unit2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var shipmentUnit1 = new ShipmentQuantity(decimalQuantity1, unit1);
            var shipmentUnit2 = new ShipmentQuantity(decimalQuantity2, unit2);

            Assert.False(shipmentUnit1.Equals(shipmentUnit2));
        }
コード例 #19
0
 public void CheckInvalidConversions(ShipmentQuantityUnits source, ShipmentQuantityUnits target)
 {
     try
     {
         ShipmentQuantityUnitConverter.ConvertToTarget(source, target, 10);
     }
     catch (ArgumentException ex)
     {
         Assert.Contains("Cannot convert type", ex.Message);
     }
 }
コード例 #20
0
        public void Equals_EquivalentQuantity_ReturnsTrue(string quantity1, ShipmentQuantityUnits unit1,
                                                          string quantity2, ShipmentQuantityUnits unit2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var shipmentUnit1 = new ShipmentQuantity(decimalQuantity1, unit1);
            var shipmentUnit2 = new ShipmentQuantity(decimalQuantity2, unit2);

            Assert.True(shipmentUnit1.Equals(shipmentUnit2));
        }
コード例 #21
0
        public void Equals_EquivalentQuantity_ReturnsTrue(string quantity1, ShipmentQuantityUnits unit1,
            string quantity2, ShipmentQuantityUnits unit2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var shipmentUnit1 = new ShipmentQuantity(decimalQuantity1, unit1);
            var shipmentUnit2 = new ShipmentQuantity(decimalQuantity2, unit2);

            Assert.True(shipmentUnit1.Equals(shipmentUnit2));
        }
コード例 #22
0
        public void LessThan_ConvertableUnitType_ReturnsTrue(string quantity1, ShipmentQuantityUnits units1,
                                                             string quantity2, ShipmentQuantityUnits units2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var unit1 = new ShipmentQuantity(decimalQuantity1, units1);
            var unit2 = new ShipmentQuantity(decimalQuantity2, units2);

            Assert.True(unit1 < unit2);
        }
コード例 #23
0
        public void Equals_UnconvertableUnits_ReturnsFalse(string quantity1, ShipmentQuantityUnits unit1,
            string quantity2, ShipmentQuantityUnits unit2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var shipmentUnit1 = new ShipmentQuantity(decimalQuantity1, unit1);
            var shipmentUnit2 = new ShipmentQuantity(decimalQuantity2, unit2);

            Assert.False(shipmentUnit1.Equals(shipmentUnit2));
        }
コード例 #24
0
 public RecordRejection(Guid importMovementId,
                        DateTime date,
                        string reason,
                        decimal rejectedQuantity,
                        ShipmentQuantityUnits rejectedUnits)
 {
     ImportMovementId = importMovementId;
     Date             = date;
     Reason           = reason;
     RejectedQuantity = rejectedQuantity;
     RejectedUnits    = rejectedUnits;
 }
コード例 #25
0
        public void Add_ConvertableUnitType_ReturnsExpected(string quantity1, ShipmentQuantityUnits units1, string quantity2, ShipmentQuantityUnits units2, string expected)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);
            var decimalExpected = Convert.ToDecimal(expected);

            var unit1 = new ShipmentQuantity(decimalQuantity1, units1);
            var unit2 = new ShipmentQuantity(decimalQuantity2, units2);

            var expectedUnit = new ShipmentQuantity(decimalExpected, units1);

            Assert.Equal(expectedUnit, unit1 + unit2);
        }
コード例 #26
0
        public void Add_ConvertableUnitType_ReturnsExpected(string quantity1, ShipmentQuantityUnits units1, string quantity2, ShipmentQuantityUnits units2, string expected)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);
            var decimalExpected  = Convert.ToDecimal(expected);

            var unit1 = new ShipmentQuantity(decimalQuantity1, units1);
            var unit2 = new ShipmentQuantity(decimalQuantity2, units2);

            var expectedUnit = new ShipmentQuantity(decimalExpected, units1);

            Assert.Equal(expectedUnit, unit1 + unit2);
        }
コード例 #27
0
 public SetIntendedShipmentInfoForNotification(Guid notificationId,
                                               int numberOfShipments,
                                               decimal quantity,
                                               ShipmentQuantityUnits units,
                                               DateTime startDate,
                                               DateTime endDate)
 {
     NotificationId    = notificationId;
     NumberOfShipments = numberOfShipments;
     Quantity          = quantity;
     Units             = units;
     StartDate         = startDate;
     EndDate           = endDate;
 }
コード例 #28
0
 public SetMovementAccepted(Guid movementId,
                            Guid fileId,
                            DateTime dateReceived,
                            decimal quantity,
                            ShipmentQuantityUnits units,
                            DateTime auditDate)
 {
     MovementId   = movementId;
     FileId       = fileId;
     DateReceived = dateReceived;
     Quantity     = quantity;
     Units        = units;
     AuditDate    = auditDate;
 }
コード例 #29
0
ファイル: ImportMovement.cs プロジェクト: DEFRA/prsd-iws
        internal ImportMovementPartialRejection PartialReject(Guid movementId,
                                                              DateTime rejectionDate,
                                                              string reason,
                                                              decimal actualQuantity,
                                                              ShipmentQuantityUnits actualUnit,
                                                              decimal rejectedQuantity,
                                                              ShipmentQuantityUnits rejectedUnit,
                                                              DateTime?wasteDisposedDate)
        {
            Guard.ArgumentNotDefaultValue(() => rejectionDate, rejectionDate);
            Guard.ArgumentNotDefaultValue(() => reason, reason);

            var rejection = new ImportMovementPartialRejection(movementId, rejectionDate, reason, actualQuantity, actualUnit, rejectedQuantity, rejectedUnit, wasteDisposedDate);

            return(rejection);
        }
コード例 #30
0
 public ImportMovementSummary(ImportMovement movement, 
     ImportMovementReceipt receipt, 
     ImportMovementRejection rejection, 
     ImportMovementCompletedReceipt completedReceipt, 
     NotificationType notificationType, 
     string notificationNumber,
     ShipmentQuantityUnits units)
 {
     Movement = movement;
     Receipt = receipt;
     Rejection = rejection;
     CompletedReceipt = completedReceipt;
     NotificationType = notificationType;
     NotificationNumber = notificationNumber;
     Units = units;
 }
コード例 #31
0
 public ImportMovementSummary(ImportMovement movement,
                              ImportMovementReceipt receipt,
                              ImportMovementRejection rejection,
                              ImportMovementCompletedReceipt completedReceipt,
                              NotificationType notificationType,
                              string notificationNumber,
                              ShipmentQuantityUnits units)
 {
     Movement           = movement;
     Receipt            = receipt;
     Rejection          = rejection;
     CompletedReceipt   = completedReceipt;
     NotificationType   = notificationType;
     NotificationNumber = notificationNumber;
     Units = units;
 }
コード例 #32
0
ファイル: DraftMovement.cs プロジェクト: DEFRA/prsd-iws
 public DraftMovement(Guid draftMovementId,
                      string notificationNumber,
                      int shipmentNumber,
                      DateTime?receivedDate,
                      decimal quantity,
                      ShipmentQuantityUnits units,
                      DateTime?recoveredDisposedDate)
 {
     BulkUploadId       = draftMovementId;
     NotificationNumber = notificationNumber;
     ShipmentNumber     = shipmentNumber;
     ReceivedDate       = receivedDate;
     Quantity           = quantity;
     Units = units;
     RecoveredDisposedDate = recoveredDisposedDate;
 }
コード例 #33
0
ファイル: DraftMovement.cs プロジェクト: DEFRA/prsd-iws
        public DraftMovement(Guid draftMovementId,
                             string notificationNumber,
                             int shipmentNumber,
                             decimal quantity,
                             ShipmentQuantityUnits units,
                             DateTime date,
                             ICollection <DraftPackagingInfo> packagingInfos)
        {
            BulkUploadId       = draftMovementId;
            NotificationNumber = notificationNumber;
            ShipmentNumber     = shipmentNumber;
            Quantity           = quantity;
            Units = units;
            Date  = date;

            PackagingInfosCollection = packagingInfos;
        }
コード例 #34
0
        public string QuantityToStringWithUnits(decimal? quantity, ShipmentQuantityUnits? units)
        {
            if (!quantity.HasValue || !units.HasValue)
            {
                return string.Empty;
            }

            switch (units.Value)
            {
                case ShipmentQuantityUnits.Kilograms:
                    return quantity.Value.ToString(FormatString) + " kg";
                case ShipmentQuantityUnits.Litres:
                    return quantity.Value.ToString(FormatString) + " Ltrs";
                default:
                    return quantity.Value.ToString(FormatString);
            }
        }
コード例 #35
0
 public RecordPartialRejectionInternal(Guid movementId,
                                       DateTime wasteReceivedDate,
                                       string reason,
                                       decimal actualQuantity,
                                       ShipmentQuantityUnits actualUnits,
                                       decimal rejectedQuantity,
                                       ShipmentQuantityUnits rejectedUnits,
                                       DateTime?wasteDisposedDate)
 {
     MovementId        = movementId;
     WasteReceivedDate = wasteReceivedDate;
     Reason            = reason;
     ActualQuantity    = actualQuantity;
     ActualUnits       = actualUnits;
     RejectedQuantity  = rejectedQuantity;
     RejectedUnits     = rejectedUnits;
     WasteDisposedDate = wasteDisposedDate;
 }
コード例 #36
0
        public static void ApplyStrikethroughFormattingToUnits(WordprocessingDocument document,
            ShipmentQuantityUnits unitsToDisplay)
        {
            var tonnesField = RunLocator.SingleRunByContent(document, TonnesFieldName);
            var cubicMetresField = RunLocator.SingleRunByContent(document, CubicMetresFieldName);

            if (unitsToDisplay != ShipmentQuantityUnits.Tonnes)
            {
                tonnesField.AppendChild(GetStrikethroughRunProperties());
            }

            if (unitsToDisplay != ShipmentQuantityUnits.CubicMetres)
            {
                cubicMetresField.AppendChild(GetStrikethroughRunProperties());
            }

            ReplacePlaceholderText(tonnesField, TonnesFieldText);
            ReplacePlaceholderText(cubicMetresField, CubicMetresFieldText);
        }
コード例 #37
0
        public static void ApplyStrikethroughFormattingToUnits(WordprocessingDocument document,
                                                               ShipmentQuantityUnits unitsToDisplay)
        {
            var tonnesField      = RunLocator.SingleRunByContent(document, TonnesFieldName);
            var cubicMetresField = RunLocator.SingleRunByContent(document, CubicMetresFieldName);

            if (unitsToDisplay != ShipmentQuantityUnits.Tonnes)
            {
                tonnesField.AppendChild(GetStrikethroughRunProperties());
            }

            if (unitsToDisplay != ShipmentQuantityUnits.CubicMetres)
            {
                cubicMetresField.AppendChild(GetStrikethroughRunProperties());
            }

            ReplacePlaceholderText(tonnesField, TonnesFieldText);
            ReplacePlaceholderText(cubicMetresField, CubicMetresFieldText);
        }
コード例 #38
0
        public ImportMovementPartialRejection(Guid movementId,
                                              DateTime wasteReceivedDate,
                                              string reason,
                                              decimal actualQuantity,
                                              ShipmentQuantityUnits actualUnit,
                                              decimal rejectedQuantity,
                                              ShipmentQuantityUnits rejectedUnit,
                                              DateTime?wasteDisposedDate)
        {
            Guard.ArgumentNotNullOrEmpty(() => reason, reason);

            MovementId        = movementId;
            WasteReceivedDate = wasteReceivedDate;
            Reason            = reason;
            ActualQuantity    = actualQuantity;
            ActualUnit        = actualUnit;
            RejectedQuantity  = rejectedQuantity;
            RejectedUnit      = rejectedUnit;
            WasteDisposedDate = wasteDisposedDate;
        }
コード例 #39
0
 private static List <PrenotificationMovement> GetTestData(ShipmentQuantityUnits unit)
 {
     return(new List <PrenotificationMovement>()
     {
         new PrenotificationMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 1,
             Unit = unit
         },
         new PrenotificationMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 2,
             Unit = unit
         },
         new PrenotificationMovement()
         {
             NotificationNumber = "GB 0001 001234",
             ShipmentNumber = 3,
             Unit = unit
         }
     });
 }
コード例 #40
0
 public void CheckInvalidConversions(ShipmentQuantityUnits source, ShipmentQuantityUnits target)
 {
     try
     {
         ShipmentQuantityUnitConverter.ConvertToTarget(source, target, 10);
     }
     catch (ArgumentException ex)
     {
         Assert.Contains("Cannot convert type", ex.Message);
     }
 }
コード例 #41
0
 public static IEnumerable<ShipmentQuantityUnits> GetUnitsOfThisType(ShipmentQuantityUnits unit)
 {
     return (IsWeightUnit(unit))
         ? WeightUnits
         : VolumeUnits;
 }
        public async Task ReturnsExpectedResult(int quantity, ShipmentQuantityUnits units, QuantityReceivedTolerance expected)
        {
            var result = await handler.HandleAsync(new DoesQuantityReceivedExceedTolerance(Guid.Empty, quantity, units));

            Assert.Equal(expected, result);
        }
コード例 #43
0
 public void CheckLosingPrecisionThrows(ShipmentQuantityUnits source, ShipmentQuantityUnits target, decimal value)
 {
     try
     {
         ShipmentQuantityUnitConverter.ConvertToTarget(source, target, value);
     }
     catch (InvalidOperationException ex)
     {
         Assert.Contains("would lose precision", ex.Message);
     }
 }
コード例 #44
0
        public void LessThanOrEquals_ConvertableUnitType_ReturnsTrue(string quantity1, ShipmentQuantityUnits units1,
            string quantity2, ShipmentQuantityUnits units2)
        {
            var decimalQuantity1 = Convert.ToDecimal(quantity1);
            var decimalQuantity2 = Convert.ToDecimal(quantity2);

            var unit1 = new ShipmentQuantity(decimalQuantity1, units1);
            var unit2 = new ShipmentQuantity(decimalQuantity2, units2);

            Assert.True(unit1 <= unit2);
        }
コード例 #45
0
 public HasExceededConsentedQuantity(Guid notificationId, decimal quantity, ShipmentQuantityUnits units)
 {
     NotificationId = notificationId;
     Quantity       = quantity;
     Units          = units;
 }
コード例 #46
0
 public ShipmentQuantity(decimal quantity, ShipmentQuantityUnits units)
 {
     Quantity = decimal.Round(quantity, ShipmentQuantityUnitsMetadata.Precision[units]);
     Units = units;
 }
コード例 #47
0
 public void CanTurnThrowOnLossOfPrecisionOff(ShipmentQuantityUnits source, ShipmentQuantityUnits target,
     decimal value)
 {
     Assert.Equal(value / 1000, ShipmentQuantityUnitConverter.ConvertToTarget(source, target, value, false));
 }
コード例 #48
0
 public void CheckWorkingConversions(ShipmentQuantityUnits source, ShipmentQuantityUnits target, decimal value, decimal result)
 {
     Assert.Equal(result, ShipmentQuantityUnitConverter.ConvertToTarget(source, target, value));
 }
コード例 #49
0
 public static bool IsVolumeUnit(ShipmentQuantityUnits unit)
 {
     return VolumeUnits.Contains(unit);
 }
コード例 #50
0
 public void ConvertToSameType(ShipmentQuantityUnits sourceAndTarget)
 {
     Assert.Equal(10, ShipmentQuantityUnitConverter.ConvertToTarget(sourceAndTarget, sourceAndTarget, 10));
 }
コード例 #51
0
 public static bool IsWeightUnit(ShipmentQuantityUnits unit)
 {
     return WeightUnits.Contains(unit);
 }
コード例 #52
0
 public QuantityViewModel(ShipmentQuantityUnits notificationShipmentUnits, int movementNumber)
 {
     MovementNumber = movementNumber;
     NotificationUnits = notificationShipmentUnits;
     AvailableUnits = ShipmentQuantityUnitsMetadata.GetUnitsOfThisType(notificationShipmentUnits).ToList();
 }