public WasteRecoveryViewModel(Guid notificationId, WasteRecoveryOverview wasteRecovery, WasteDisposalOverview wasteDisposal, NotificationApplicationCompletionProgress progress) { IsWasteRecoveryInformationCompleted = progress.HasRecoveryData; IsProvidedByImporter = progress.HasRecoveryData; NotificationId = notificationId; if (wasteRecovery != null) { IsProvidedByImporter = false; HasDisposalPortion = wasteRecovery.PercentageRecoverable != 100; PercentageRecoverable = wasteRecovery.PercentageRecoverable; EstimatedUnit = wasteRecovery.EstimatedValue.Unit; EstimatedAmount = wasteRecovery.EstimatedValue.Amount; CostUnit = wasteRecovery.RecoveryCost.Unit; CostAmount = wasteRecovery.RecoveryCost.Amount; if (HasDisposalPortion && wasteDisposal != null) { MethodOfDisposal = wasteDisposal.DisposalMethod; DisposalUnit = wasteDisposal.DisposalCost.Unit; DisposalAmount = wasteDisposal.DisposalCost.Amount; } } }