private void GetSelectedPartner(OCRD_BusinessPartner selectedPartner) { IsModalVisible = false; //Customer Name. SelectedPartner = selectedPartner; SelectedSale.CardCode = selectedPartner.CardCode; RaisePropertyChanged("SelectedSale"); }
public static ObservableCollection <ODPI_DownPayment> GetDownPaymentsProcessed(OCRD_BusinessPartner selectedPartner, NNM1_Series serie) { lock (Extensions.Locker) { var db = ContextFactory.GetDBContext(); IQueryable <ODPI_DownPayment> downPayments = null; if (serie != null) { if (serie.Series == 43) { downPayments = db.ODPI_DownPayment.Include(dp => dp.DPI1_DownPaymentDetail) .Where(dp => dp.StateL == LocalStatus.Procesado && dp.CardCode == selectedPartner.CardCode && (dp.IdSaleL == null || dp.IdSaleL == 0) && dp.Series == 31); } if (serie.Series == 42) { downPayments = db.ODPI_DownPayment.Include(dp => dp.DPI1_DownPaymentDetail) .Where(dp => dp.StateL == LocalStatus.Procesado && dp.CardCode == selectedPartner.CardCode && (dp.IdSaleL == null || dp.IdSaleL == 0) && dp.Series == 118); } } var existing = from sale in db.OINV_Sales.Where(d => d.dpEntry != 0) join dp in downPayments on sale.dpEntry equals dp.DocEntry select dp; var existingByDetails = from detail in db.RIN1_ClientCreditNoteDetail join dp in downPayments on detail.BaseEntry equals dp.DocEntry select dp; downPayments = downPayments.Where(d => !existing.Contains(d) && !existingByDetails.Contains(d)); //// TODO : implementar mejora de rendimiento hacer Tolist de todos los ids de la venta es lento , implementar un Left JOin , not Exists //// para no mostrar anticipos cancelados .. var downpaymentsLIst = downPayments.ToList(); var queryNames = (from dp in downpaymentsLIst join srie in db.NNM1_Series on dp.Series equals srie.Series select new { DownPaymentId = dp.IdDownPayment, SerieTitle = srie.SeriesName + " " + srie.Remark }).ToList(); downpaymentsLIst.ForEach( trl => { var filler = queryNames.FirstOrDefault(f => f.DownPaymentId == trl.IdDownPayment); if (filler != null) { trl.SeriesTitle = filler.SerieTitle; } }); return(new ObservableCollection <ODPI_DownPayment>(downpaymentsLIst)); } }