public ReturnViewModel Map(ReturnData source)
        {
            Guard.ArgumentNotNull(() => source, source);

            SetObligatedValues(source);

            SetDisplayOptions(source);

            decimal?totalNonObligatedTonnageDcf = null;
            decimal?totalNonObligatedTonnage    = null;

            if (source.NonObligatedData != null)
            {
                if (source.NonObligatedData.Any(n => n.Dcf && n.Tonnage.HasValue))
                {
                    totalNonObligatedTonnageDcf = tonnageUtilities.InitialiseTotalDecimal(source.NonObligatedData.Where(n => n.Dcf && n.Tonnage.HasValue).Sum(n => n.Tonnage));
                }

                if (source.NonObligatedData.Any(n => !n.Dcf && n.Tonnage.HasValue))
                {
                    totalNonObligatedTonnage = tonnageUtilities.InitialiseTotalDecimal(source.NonObligatedData.Where(n => !n.Dcf && n.Tonnage.HasValue).Sum(n => n.Tonnage));
                }
            }

            return(new ReturnViewModel(
                       source,
                       AatfObligatedData,
                       source.OrganisationData,
                       DisplayOptions)
            {
                NonObligatedTonnageTotal = tonnageUtilities.CheckIfTonnageIsNull(totalNonObligatedTonnage),
                NonObligatedTonnageTotalDcf = tonnageUtilities.CheckIfTonnageIsNull(totalNonObligatedTonnageDcf),
                NonObligatedTotal = tonnageUtilities.CheckIfTonnageIsNull(totalNonObligatedTonnage),
                ObligatedTotal = tonnageUtilities.CheckIfTonnageIsNull(TotalObligated(source)),
                ObligatedB2BTotal = tonnageUtilities.CheckIfTonnageIsNull(TotalObligatedB2B(source)),
                ObligatedB2CTotal = tonnageUtilities.CheckIfTonnageIsNull(TotalObligatedB2C(source)),
                ShowDownloadObligatedDataLink = DisplayOptions.DisplayObligatedReceived || DisplayOptions.DisplayObligatedReused || DisplayOptions.DisplayObligatedSentOn,
                ShowDownloadNonObligatedDataLink = DisplayOptions.DisplayNonObligated || DisplayOptions.DisplayNonObligatedDcf
            });
        }
示例#2
0
        public void CheckIfTonnageIsNull_OnNullInput_ReturnsNullTonnageDisplay()
        {
            var result = tonnageUtilities.CheckIfTonnageIsNull(null);

            result.Should().Be(nullTonnageDisplay);
        }