public static IEnumerable DriverRecordsDelegate(PXGraph graph, SharedClasses.RouteSelected_view routeSelected, PXFilter <DriverSelectionFilter> filter) { if (routeSelected.Current == null) { yield break; } List <object> args = new List <object>(); PXSelectBase <EPEmployee> commandFilter = new PXSelectJoinGroupBy <EPEmployee, InnerJoin <FSRouteEmployee, On < FSRouteEmployee.employeeID, Equal <EPEmployee.bAccountID> >, LeftJoin <FSRouteDocument, On < FSRouteDocument.driverID, Equal <FSRouteEmployee.employeeID>, And < FSRouteDocument.date, Equal <Required <FSRouteDocument.date> > > > > >, Where < FSRouteEmployee.routeID, Equal <Required <FSRouteEmployee.routeID> >, And < FSxEPEmployee.sDEnabled, Equal <True>, And < FSxEPEmployee.isDriver, Equal <True> > > >, Aggregate < GroupBy < EPEmployee.bAccountID> >, OrderBy < Asc <FSRouteEmployee.priorityPreference> > >(graph); args.Add(routeSelected.Current.Date); args.Add(routeSelected.Current.RouteID); if (filter.Current.ShowUnassignedDrivers == true) { commandFilter.WhereAnd <Where <FSRouteDocument.routeID, IsNull> >(); } var bqlResultSet = commandFilter.Select(args.ToArray()); foreach (PXResult <EPEmployee, FSRouteEmployee, FSRouteDocument> bqlResult in bqlResultSet) { EPEmployee epEmployeeRow = (EPEmployee)bqlResult; FSRouteEmployee fsRouteEmployeeRow = (FSRouteEmployee)bqlResult; FSRouteDocument fsRouteDocumentRow = (FSRouteDocument)bqlResult; FSxEPEmployee fsxEPEmployeeRow = PXCache <EPEmployee> .GetExtension <FSxEPEmployee>(epEmployeeRow); if (fsRouteDocumentRow != null && fsRouteDocumentRow.RouteID != null) { fsxEPEmployeeRow.Mem_UnassignedDriver = true; } yield return(bqlResult); } }
protected virtual void FSRouteEmployee_PriorityPreference_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e) { if (e.Row == null) { return; } FSRouteEmployee fsRouteEmployeeRow = (FSRouteEmployee)e.Row; if (fsRouteEmployeeRow.PriorityPreference < 1) { cache.RaiseExceptionHandling <FSRouteEmployee.priorityPreference>( fsRouteEmployeeRow, fsRouteEmployeeRow.PriorityPreference, new PXSetPropertyException(PXMessages.LocalizeFormat(TX.Error.MINIMUN_VALUE, 1), PXErrorLevel.Error)); } }
protected virtual void FSRouteEmployee_RowPersisting(PXCache cache, PXRowPersistingEventArgs e) { if (e.Row == null) { return; } FSRouteEmployee fsRouteEmployeeRow = (FSRouteEmployee)e.Row; if (fsRouteEmployeeRow.PriorityPreference < 1) { cache.RaiseExceptionHandling <FSRouteEmployee.priorityPreference>( fsRouteEmployeeRow, fsRouteEmployeeRow.PriorityPreference, new PXSetPropertyException(PXMessages.LocalizeFormat(TX.Error.MINIMUN_VALUE, 1), PXErrorLevel.Error)); throw new PXException(PXMessages.LocalizeFormat(TX.Error.MINIMUN_VALUE_NAME_FIELD, "Priority Option", 1), PXErrorLevel.Error); } }