protected bool _CheckRoutingParams(Schedule schedule, ICollection <Route> routes, ICollection <Order> orders) { bool isValid = false; // check orders count if (orders.Count < 1) { App.Current.Messenger.AddError((string)App.Current.FindResource("Error_InvalidOrdersNum")); } // check routes count else if (routes.Count < 1) { App.Current.Messenger.AddError((string)App.Current.FindResource("Error_InvalidRoutesNum")); } // validate objects else { List <DataObject> invalidObjects = new List <DataObject>(); invalidObjects.AddRange(RoutingCmdHelpers.ValidateObjects <Order>(orders)); invalidObjects.AddRange(RoutingCmdHelpers.ValidateObjects <Route>(routes)); if (invalidObjects.Count > 0) { _ShowSolveValidationResult(invalidObjects.ToArray()); } else { isValid = true; } } return((isValid) ? ConstraintViolationsChecker.Check(schedule, routes, orders) : false); }
/// <summary> /// Gets build routes operation parameters for the specified schedule. /// </summary> /// <param name="schedule">The schedule to get build routes operation /// parameters for.</param> /// <returns>Build routes operation parameters.</returns> private BuildRoutesParameters _GetBuildRoutesParameters(Schedule schedule) { var routes = ViolationsHelper.GetBuildRoutes(schedule); // get orders planned on schedule's date var day = (DateTime)schedule.PlannedDate; var orders = from order in App.Current.Project.Orders.Search(day) where !ConstraintViolationsChecker.IsOrderRouteLocked(order, schedule) select order; var parameters = new BuildRoutesParameters() { TargetRoutes = routes, OrdersToAssign = orders.ToList() }; return(parameters); }