Exemple #1
0
        /// <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);
        }