public void SetStartTimeBackward(DueTime startTime) { if (_productionOrderOperation.IsReadOnly) { throw new MrpRunException("A readOnly entity cannot be changed anymore."); } DueTime transitionTime = new DueTime(TransitionTimer.CalculateTransitionTime(GetDuration())); // startBackwards DueTime startTimeOfOperation = startTime.Plus(transitionTime); _productionOrderOperation.StartBackward = startTimeOfOperation.GetValue(); // endBackwards _productionOrderOperation.EndBackward = startTimeOfOperation.GetValue() + GetDuration().GetValue(); }