public bool IsBroken(ShipmentFacts facts, IUserMessageBuilder messageBuilder) { ServiceRoute requiredRoute = facts.SalesOrder.RequiredServiceRoute; if (requiredRoute == null) { return(false); } ServiceRouteDisposition disposition = Scout.Core.Service <IShopfloorService>() .GetRouteDisposition(facts.Item, requiredRoute); if (disposition == null) { var error = string.Format("Shipment Cancelled: This unit did not complete the {0} route", requiredRoute.Name); messageBuilder.AddMessage(error, UserMessageType.Validation); return(true); } return(false); }
public ServiceRouteDisposition GetRouteDisposition(InventoryItem item, ServiceRoute route) { BinaryOperator op1 = new BinaryOperator("Item", item); BinaryOperator op2 = new BinaryOperator("ServiceRoute", route); GroupOperator criteria = new GroupOperator(op1, op2); ServiceRouteDisposition disposition = Repository .Get <ServiceRouteDisposition>(item.Session) .ByCriteria(criteria); if (disposition != null) { return(disposition); } return(null); }