protected virtual IEnumerable GetRecords() { bool ar = true; PXCache cache = this._Graph.Caches[BqlCommand.GetItemType(moduleField)]; string docType = ARDocType.Invoice; if (cache.Current != null) { docType = (string)cache.GetValue(cache.Current, docTypeField.Name); string module = (string)cache.GetValue(cache.Current, moduleField.Name); if (module == BatchModule.AP) { ar = false; } } if (ar) { PXSelectBase <ARInvoice> select = new PXSelectJoin <ARInvoice, InnerJoin <BAccount, On <BAccount.bAccountID, Equal <ARInvoice.customerID> > >, Where <ARInvoice.docType, Equal <Required <ARInvoice.docType> > > >(this._Graph); foreach (PXResult <ARInvoice, BAccount> res in select.Select(docType)) { ARInvoice doc = (ARInvoice)res; BAccount customer = (BAccount)res; string status = null; ARDocStatus.ListAttribute x = new ARDocStatus.ListAttribute(); if (x.ValueLabelDic.ContainsKey(doc.Status)) { status = x.ValueLabelDic[doc.Status]; } DRDocumentRecord record = new DRDocumentRecord(); record.BAccountCD = customer.AcctCD; record.RefNbr = doc.RefNbr; record.Status = status; record.FinPeriodID = doc.FinPeriodID; record.DocType = doc.DocType; record.DocDate = doc.DocDate; record.LocationID = doc.CustomerLocationID; record.CuryOrigDocAmt = doc.CuryOrigDocAmt; record.CuryID = doc.CuryID; yield return(record); } } else { PXSelectBase <APInvoice> select = new PXSelectJoin <APInvoice, InnerJoin <BAccount, On <BAccount.bAccountID, Equal <APInvoice.vendorID> > >, Where <APInvoice.docType, Equal <Required <APInvoice.docType> > > >(this._Graph); foreach (PXResult <APInvoice, BAccount> res in select.Select(docType)) { APInvoice doc = (APInvoice)res; BAccount customer = (BAccount)res; string status = null; APDocStatus.ListAttribute x = new APDocStatus.ListAttribute(); if (x.ValueLabelDic.ContainsKey(doc.Status)) { status = x.ValueLabelDic[doc.Status]; } DRDocumentRecord record = new DRDocumentRecord(); record.BAccountCD = customer.AcctCD; record.RefNbr = doc.RefNbr; record.Status = status; record.FinPeriodID = doc.FinPeriodID; record.DocType = doc.DocType; record.DocDate = doc.DocDate; record.LocationID = doc.VendorLocationID; record.CuryOrigDocAmt = doc.CuryOrigDocAmt; record.CuryID = doc.CuryID; yield return(record); } } }
protected override IEnumerable GetRecords() { PXCache cache = this._Graph.Caches[BqlCommand.GetItemType(_moduleField)]; if (cache.Current == null) { yield break; } string docType = (string)cache.GetValue(cache.Current, _docTypeField.Name); string module = (string)cache.GetValue(cache.Current, _moduleField.Name); bool excludeUnreleased = cache .GetAttributesReadonly(cache.Current, _FieldName) .OfType <DRDocumentSelectorAttribute>() .First() .ExcludeUnreleased; int?businessAccountID = null; if (_businessAccountField != null) { businessAccountID = (int?)cache.GetValue(cache.Current, _businessAccountField.Name); } if (module == BatchModule.AR) { PXSelectBase <ARInvoice> relevantInvoices = new PXSelectJoin < ARInvoice, InnerJoin <BAccount, On <BAccount.bAccountID, Equal <ARInvoice.customerID> > >, Where <ARInvoice.docType, Equal <Required <ARInvoice.docType> >, And <Where <ARInvoice.drSchedCntr, Less <ARInvoice.lineCntr>, Or <ARInvoice.drSchedCntr, IsNull> > > > > (this._Graph); if (excludeUnreleased) { relevantInvoices.WhereAnd <Where <ARInvoice.released, Equal <True> > >(); } object[] queryParameters; if (businessAccountID.HasValue) { relevantInvoices.WhereAnd < Where <ARInvoice.customerID, Equal <Required <ARInvoice.customerID> > > >(); queryParameters = new object[] { docType, businessAccountID }; } else { queryParameters = new object[] { docType }; } foreach (PXResult <ARInvoice, BAccount> result in relevantInvoices.Select(queryParameters)) { ARInvoice arInvoice = result; BAccount customer = result; string status = null; ARDocStatus.ListAttribute documentStatusListAttribute = new ARDocStatus.ListAttribute(); if (documentStatusListAttribute.ValueLabelDic.ContainsKey(arInvoice.Status)) { status = documentStatusListAttribute.ValueLabelDic[arInvoice.Status]; } DRDocumentRecord record = new DRDocumentRecord { BAccountCD = customer.AcctCD, RefNbr = arInvoice.RefNbr, Status = status, FinPeriodID = arInvoice.FinPeriodID, DocType = arInvoice.DocType, DocDate = arInvoice.DocDate, LocationID = arInvoice.CustomerLocationID, CuryOrigDocAmt = arInvoice.CuryOrigDocAmt, CuryID = arInvoice.CuryID }; yield return(record); } } else { foreach (var item in base.GetRecords()) { yield return(item); } } }
protected virtual IEnumerable GetRecords() { bool ar = true; PXCache cache = this._Graph.Caches[BqlCommand.GetItemType(moduleField)]; string docType = ARDocType.Invoice; if (cache.Current != null ) { docType = (string)cache.GetValue(cache.Current, docTypeField.Name); string module = (string)cache.GetValue(cache.Current, moduleField.Name); if (module == BatchModule.AP) ar = false; } if (ar) { PXSelectBase<ARInvoice> select = new PXSelectJoin<ARInvoice, InnerJoin<BAccount, On<BAccount.bAccountID, Equal<ARInvoice.customerID>>>, Where<ARInvoice.docType, Equal<Required<ARInvoice.docType>>>>(this._Graph); foreach (PXResult<ARInvoice, BAccount> res in select.Select(docType)) { ARInvoice doc = (ARInvoice)res; BAccount customer = (BAccount)res; string status = null; ARDocStatus.ListAttribute x = new ARDocStatus.ListAttribute(); if (x.ValueLabelDic.ContainsKey(doc.Status)) { status = x.ValueLabelDic[doc.Status]; } DRDocumentRecord record = new DRDocumentRecord(); record.BAccountCD = customer.AcctCD; record.RefNbr = doc.RefNbr; record.Status = status; record.FinPeriodID = doc.FinPeriodID; record.DocType = doc.DocType; record.DocDate = doc.DocDate; record.LocationID = doc.CustomerLocationID; record.CuryOrigDocAmt = doc.CuryOrigDocAmt; record.CuryID = doc.CuryID; yield return record; } } else { PXSelectBase<APInvoice> select = new PXSelectJoin<APInvoice, InnerJoin<BAccount, On<BAccount.bAccountID, Equal<APInvoice.vendorID>>>, Where<APInvoice.docType, Equal<Required<APInvoice.docType>>>>(this._Graph); foreach (PXResult<APInvoice, BAccount> res in select.Select(docType)) { APInvoice doc = (APInvoice)res; BAccount customer = (BAccount)res; string status = null; APDocStatus.ListAttribute x = new APDocStatus.ListAttribute(); if (x.ValueLabelDic.ContainsKey(doc.Status)) { status = x.ValueLabelDic[doc.Status]; } DRDocumentRecord record = new DRDocumentRecord(); record.BAccountCD = customer.AcctCD; record.RefNbr = doc.RefNbr; record.Status = status; record.FinPeriodID = doc.FinPeriodID; record.DocType = doc.DocType; record.DocDate = doc.DocDate; record.LocationID = doc.VendorLocationID; record.CuryOrigDocAmt = doc.CuryOrigDocAmt; record.CuryID = doc.CuryID; yield return record; } } }