protected virtual LumDeadStockEnqResult GetRowByPrimaryKeys(PXSelectBase <INSiteStatus> command, LumDeadStockEnqFilter filter, DateTime?inStockSince, DateTime?noSalesSince) { if (PXView.MaximumRows == 1 && PXView.StartRow == 0 && PXView.Searches?.Length == Result.Cache.Keys.Count && PXView.SearchColumns.Select(sc => sc.Column) .SequenceEqual(Result.Cache.Keys, StringComparer.OrdinalIgnoreCase) && PXView.Searches.All(k => k != null)) { int startRow = 0; int totalRows = 0; var rows = command.View.Select(new object[] { filter }, PXView.Parameters, PXView.Searches, PXView.SortColumns, PXView.Descendings, PXView.Filters, ref startRow, PXView.MaximumRows, ref totalRows); foreach (var row in rows) { if (row is PXResult) { return(MakeResult(row as PXResult <INSiteStatus>, inStockSince, noSalesSince)); } return(MakeResult(new PXResult <INSiteStatus>(row as INSiteStatus), inStockSince, noSalesSince)); } } return(null); }
protected virtual void AddSiteFilter(PXSelectBase <INSiteStatus> command, LumDeadStockEnqFilter filter) { if (filter.SiteID != null) { command.WhereAnd <Where <INSiteStatus.siteID.IsEqual <LumDeadStockEnqFilter.siteID.FromCurrent> > >(); } }
protected virtual List <object> AddFilters(LumDeadStockEnqFilter filter, PXSelectBase <INSiteStatus> command, DateTime?inStockSince, DateTime?noSalesSince) { var parameters = new List <object>(); AddQtyOnHandFilter(command); AddSiteFilter(command, filter); AddInventoryFilter(command, filter); AddItemClassFilter(command, filter); AddNoSalesSinceFilter(command, parameters, noSalesSince); return(parameters); }
protected virtual void GetStartDates(LumDeadStockEnqFilter filter, out DateTime?inStockSince, out DateTime?noSalesSince) { switch (filter.SelectBy) { case LumDeadStockEnqFilter.selectBy.Days: inStockSince = filter.InStockDays == null ? (DateTime?)null : GetCurrentDate().AddDays(-1 * (int)filter.InStockDays); noSalesSince = filter.NoSalesDays == null ? (DateTime?)null : GetCurrentDate().AddDays(-1 * (int)filter.NoSalesDays); break; case LumDeadStockEnqFilter.selectBy.Date: inStockSince = filter.InStockSince; noSalesSince = filter.NoSalesSince; break; default: throw new NotImplementedException(); } }
protected virtual bool ValidateFilter(LumDeadStockEnqFilter filter) { if (filter == null || filter.SiteID == null || filter.SelectBy == null) { return(false); } if (filter.SelectBy == LumDeadStockEnqFilter.selectBy.Days && filter.InStockDays == null && filter.NoSalesDays == null) { return(false); } if (filter.SelectBy == LumDeadStockEnqFilter.selectBy.Date && filter.InStockSince == null && filter.NoSalesSince == null) { return(false); } return(true); }
protected virtual void AddItemClassFilter(PXSelectBase <INSiteStatus> command, LumDeadStockEnqFilter filter) { if (filter.ItemClassID != null) { command.WhereAnd <Where <InventoryItem.itemClassID. IsEqual <LumDeadStockEnqFilter.itemClassID.FromCurrent> > >(); } }
protected virtual void AddInventoryFilter(PXSelectBase <INSiteStatus> command, LumDeadStockEnqFilter filter) { if (filter.InventoryID != null) { command.WhereAnd <Where <INSiteStatus.inventoryID .IsEqual <LumDeadStockEnqFilter.inventoryID.FromCurrent> > >(); } command.WhereAnd <Where <InventoryItem.itemStatus.IsNotIn < InventoryItemStatus.markedForDeletion, InventoryItemStatus.inactive> > >(); }