/// <summary> /// Static constructor. /// </summary> public static CompactionVolumesSummaryResult Create(SummaryVolumesResult result, CompactionProjectSettings projectSettings) { return(new CompactionVolumesSummaryResult { SummaryVolumeData = Convert(result, projectSettings), Code = result.Code, Message = result.Message }); }
public static VolumesSummaryData Convert(SummaryVolumesResult result, CompactionProjectSettings projectSettings) { var surplusDeficitVolume = result.Cut - result.Fill; var totalVolume = result.Cut + result.Fill; var totalCutVolume = result.Cut; var totalFillVolume = result.Fill; if (projectSettings.useDefaultVolumeShrinkageBulking.HasValue && !projectSettings.useDefaultVolumeShrinkageBulking.Value) { totalCutVolume = result.Cut * (1 + projectSettings.VolumeBulkingPercent / 100); totalFillVolume = result.Fill * (1 + projectSettings.VolumeShrinkagePercent / 100); surplusDeficitVolume = totalCutVolume - totalFillVolume; totalVolume = totalCutVolume + totalFillVolume; } double?bulking; double?shrinkage; if (projectSettings.useDefaultVolumeShrinkageBulking.HasValue && projectSettings.useDefaultVolumeShrinkageBulking.Value) { bulking = projectSettings.VolumeBulkingPercent; shrinkage = projectSettings.VolumeShrinkagePercent; } else { bulking = projectSettings.customBulkingPercent; shrinkage = projectSettings.customShrinkagePercent; } return(new VolumesSummaryData { Bulking = bulking ?? 0.0, Shrinkage = shrinkage ?? 0.0, TotalCutVolume = totalCutVolume, TotalFillVolume = totalFillVolume, TotalMachineCoveragePlanArea = result.TotalCoverageArea, TotalVolume = totalVolume, NetVolume = surplusDeficitVolume }); }
public static ProgressiveSummaryVolumesResultItem Create(DateTime date, SummaryVolumesResult volume) { return(new ProgressiveSummaryVolumesResultItem { Date = date, Volume = volume }); }