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 }); }
public void InitialiseTotalDecimal_OnNullInput_ReturnsZeroDecimal() { var result = tonnageUtilities.InitialiseTotalDecimal(null); result.Should().Be(0.000m); }