public RangingInformation GetMergedRange()
{
RangingInformation newRange = new RangingInformation();
foreach (RangingInformation rangingInformation in _ranges)
{
Quantity from = rangingInformation.FromQuantity;
Quantity to = rangingInformation.ToQuantity;
if (newRange.FromQuantity == null || from < newRange.FromQuantity)
newRange.FromQuantity = from;
if (newRange.ToQuantity == null || to > newRange.ToQuantity)
newRange.ToQuantity = to;
if (rangingInformation.ErrorLimit != null)
newRange.ErrorLimit = newRange.ErrorLimit == null
? rangingInformation.ErrorLimit
: ErrorLimit.LeastRestrictiveLimit( rangingInformation.ErrorLimit,
newRange.ErrorLimit );
}
return newRange;
}