/// <summary> /// Method check is command enabled. /// </summary> private void _CheckEnabled() { Schedule schedule = _optimizeAndEditPage.CurrentSchedule; bool hasOrders = ((schedule != null) && (schedule.UnassignedOrders != null) && ((schedule.UnassignedOrders.Count > 0) || ScheduleHelper.DoesScheduleHaveBuiltRoutes(schedule))); AsyncOperationInfo info = null; bool canBuildRoutesBeStarted = _CanBuildRoutesBeStarted(out info); bool isPageStateAllowRouting = (hasOrders && (schedule.Routes.Count > 0) && !_optimizeAndEditPage.IsEditingInProgress && !_optimizeAndEditPage.IsLocked && !_DoesAllRoutesLocked()); // AllowDisabledExecution should be "false" if editing in progress. AllowDisabledExecution = isPageStateAllowRouting; IsEnabled = (isPageStateAllowRouting && canBuildRoutesBeStarted); }