Exemplo n.º 1
0
 /// <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
     });
 }
Exemplo n.º 2
0
        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
            });
        }
Exemplo n.º 3
0
 public static ProgressiveSummaryVolumesResultItem Create(DateTime date, SummaryVolumesResult volume)
 {
     return(new ProgressiveSummaryVolumesResultItem {
         Date = date, Volume = volume
     });
 }