public void InflateByMilliseconds(double value) { if (value > 0.0d) { /* * steps is positive * decrease min, increase max by the amount of steps */ if (Minimum.TryAddMilliseconds(-value.NotBelow((Bounds.Minimum - Minimum).Milliseconds()), out DateTime dtn)) { Minimum = dtn; } if (Maximum.TryAddMilliseconds(value.NotAbove((Bounds.Maximum - Maximum).Milliseconds()), out DateTime dtx)) { Maximum = dtx; } } else if (value < 0.0d) { /* * steps is negative * increase min, decrease max by the amount of steps */ if (Minimum.TryAddMilliseconds(-value.NotAbove((Bounds.Maximum - Minimum).Milliseconds()), out DateTime dtn)) { Minimum = dtn; } if (Maximum.TryAddMilliseconds(value.NotBelow((Bounds.Minimum - Maximum).Milliseconds()), out DateTime dtx)) { Maximum = dtx; } } }
public void ShiftByMilliseconds(double value) { if (value > 0.0d) { /* * steps is positive * increase min, max by the amount of steps only * if they will be less than or equal bounds max */ if (Minimum.TryAddMilliseconds((int)value.NotAbove((long)(Bounds.Maximum - Minimum).Milliseconds()), out DateTime dtn)) { Minimum = dtn; } if (Maximum.TryAddMilliseconds((int)value.NotAbove((long)(Bounds.Maximum - Maximum).Milliseconds()), out DateTime dtx)) { Maximum = dtx; } } else if (value < 0.0d) { /* * steps is negative * decrease min, max by the amount of steps only * if they will be greater than or equal bounds min */ // This is not a mistake, I'll actually add a negative to a negative if (Minimum.TryAddMilliseconds((int)value.NotBelow((long)(Bounds.Minimum - Minimum).Milliseconds()), out DateTime dtn)) { Minimum = dtn; } if (Maximum.TryAddMilliseconds((int)value.NotBelow((long)(Bounds.Minimum - Maximum).Milliseconds()), out DateTime dtx)) { Maximum = dtx; } } }