public static int?FetchLocation(PXGraph graph, int?vendorID, int?itemID, int?subItemID, int?siteID) { BAccountR company = PXSelectJoin <BAccountR, InnerJoin <Branch, On <Branch.bAccountID, Equal <BAccountR.bAccountID> > >, Where <BAccountR.bAccountID, Equal <Required <BAccountR.bAccountID> > > > .Select(graph, vendorID); if (company != null) { return(company.DefLocationID); } var rec = (PXResult <INItemSiteSettings, POVendorInventory>) PXSelectJoin <INItemSiteSettings, LeftJoin <POVendorInventory, On <POVendorInventory.inventoryID, Equal <INItemSiteSettings.inventoryID>, And <POVendorInventory.active, Equal <boolTrue>, And <POVendorInventory.vendorID, Equal <Required <Vendor.bAccountID> >, And <Where <POVendorInventory.subItemID, Equal <Required <POVendorInventory.subItemID> >, Or <POVendorInventory.subItemID, Equal <INItemSiteSettings.defaultSubItemID>, Or <POVendorInventory.subItemID, IsNull, Or <Where <Required <POVendorInventory.subItemID>, IsNull, And <POVendorInventory.subItemID, Equal <True> > > > > > > > > > > >, Where <INItemSiteSettings.inventoryID, Equal <Required <INItemSiteSettings.inventoryID> >, And <INItemSiteSettings.siteID, Equal <Required <INItemSiteSettings.siteID> > > >, OrderBy <Asc <POVendorInventory.lastPrice, Asc <Switch <Case <Where <POVendorInventory.subItemID, Equal <INItemSiteSettings.defaultSubItemID> >, boolTrue>, boolFalse>, Asc <Switch <Case <Where <POVendorInventory.vendorLocationID, IsNull>, boolTrue>, boolFalse> > > > > > .SelectWindowed(graph, 0, 1, vendorID, subItemID, subItemID, itemID, siteID); if (rec == null) { return(null); } POVendorInventory i = rec; INItemSiteSettings site = rec; if (i.VendorLocationID != null) { return(i.VendorLocationID); } Vendor vendor = PXSelectReadonly <Vendor, Where <Vendor.bAccountID, Equal <Required <Vendor.bAccountID> > > > .Select(graph, vendorID); if (site.PreferredVendorID == vendorID) { return(site.PreferredVendorLocationID ?? (vendor != null ? vendor.DefLocationID : null)); } if (vendor != null && vendor.BAccountID == vendorID) { return(vendor.DefLocationID); } return(null); }
public CostLayerComparer(INItemSiteSettings itemSite) { _itemSite = itemSite; }