public IEnumerable <ComboBoxList> GetProductHelpList(int Id, string term) { var PurchaseInvoiceReturn = new PurchaseInvoiceReturnHeaderService(_unitOfWork).Find(Id); var settings = new PurchaseInvoiceSettingService(_unitOfWork).GetPurchaseInvoiceSettingForDocument(PurchaseInvoiceReturn.DocTypeId, PurchaseInvoiceReturn.DivisionId, PurchaseInvoiceReturn.SiteId); string[] ProductTypes = null; if (!string.IsNullOrEmpty(settings.filterProductTypes)) { ProductTypes = settings.filterProductTypes.Split(",".ToCharArray()); } else { ProductTypes = new string[] { "NA" }; } var list = (from p in db.Product where (string.IsNullOrEmpty(term) ? 1 == 1 : p.ProductName.ToLower().Contains(term.ToLower())) && (string.IsNullOrEmpty(settings.filterProductTypes) ? 1 == 1 : ProductTypes.Contains(p.ProductGroup.ProductTypeId.ToString())) group new { p } by p.ProductId into g select new ComboBoxList { PropFirst = g.Max(m => m.p.ProductName), Id = g.Key, // DocumentTypeName=g.Max(p=>p.p.DocumentTypeShortName) } ).Take(20); return(list.ToList()); }
public IEnumerable <PurchaseGoodsReceiptListViewModel> GetPendingPurchaseReceiptHelpList(int Id, string term) { var GoodsReceipt = new PurchaseInvoiceReturnHeaderService(_unitOfWork).Find(Id); var settings = new PurchaseInvoiceSettingService(_unitOfWork).GetPurchaseInvoiceSettingForDocument(GoodsReceipt.DocTypeId, GoodsReceipt.DivisionId, GoodsReceipt.SiteId); string[] contraDocTypes = null; if (!string.IsNullOrEmpty(settings.filterContraDocTypes)) { contraDocTypes = settings.filterContraDocTypes.Split(",".ToCharArray()); } else { contraDocTypes = new string[] { "NA" }; } string[] contraSites = null; if (!string.IsNullOrEmpty(settings.filterContraSites)) { contraSites = settings.filterContraSites.Split(",".ToCharArray()); } else { contraSites = new string[] { "NA" }; } string[] contraDivisions = null; if (!string.IsNullOrEmpty(settings.filterContraDivisions)) { contraDivisions = settings.filterContraDivisions.Split(",".ToCharArray()); } else { contraDivisions = new string[] { "NA" }; } int CurrentSiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int CurrentDivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var list = (from p in db.ViewPurchaseInvoiceBalance where (string.IsNullOrEmpty(term) ? 1 == 1 : p.PurchaseGoodsReceiptNo.ToLower().Contains(term.ToLower())) && p.SupplierId == GoodsReceipt.SupplierId && p.BalanceQty > 0 && (string.IsNullOrEmpty(settings.filterContraDocTypes) ? 1 == 1 : contraDocTypes.Contains(p.PurchaseInvoiceDocTypeId.ToString())) && (string.IsNullOrEmpty(settings.filterContraSites) ? p.SiteId == CurrentSiteId : contraSites.Contains(p.SiteId.ToString())) && (string.IsNullOrEmpty(settings.filterContraDivisions) ? p.DivisionId == CurrentDivisionId : contraDivisions.Contains(p.DivisionId.ToString())) group new { p } by p.PurchaseGoodsReceiptHeaderId into g select new PurchaseGoodsReceiptListViewModel { DocNo = g.Max(m => m.p.PurchaseGoodsReceiptNo), PurchaseGoodsReceiptHeaderId = g.Key, } ).Take(20); return(list.ToList()); }
public IEnumerable <PurchaseInvoiceListViewModel> GetPendingInvoices(int id, int PurchaseInvoiceReturnHeaderId, string term, int Limit) { var PurchaseInvoiceReturnHeader = new PurchaseInvoiceReturnHeaderService(_unitOfWork).Find(PurchaseInvoiceReturnHeaderId); var settings = new PurchaseInvoiceSettingService(_unitOfWork).GetPurchaseInvoiceSettingForDocument(PurchaseInvoiceReturnHeader.DocTypeId, PurchaseInvoiceReturnHeader.DivisionId, PurchaseInvoiceReturnHeader.SiteId); string[] contraDocTypes = null; if (!string.IsNullOrEmpty(settings.filterContraDocTypes)) { contraDocTypes = settings.filterContraDocTypes.Split(",".ToCharArray()); } else { contraDocTypes = new string[] { "NA" }; } string[] contraSites = null; if (!string.IsNullOrEmpty(settings.filterContraSites)) { contraSites = settings.filterContraSites.Split(",".ToCharArray()); } else { contraSites = new string[] { "NA" }; } string[] contraDivisions = null; if (!string.IsNullOrEmpty(settings.filterContraDivisions)) { contraDivisions = settings.filterContraDivisions.Split(",".ToCharArray()); } else { contraDivisions = new string[] { "NA" }; } int CurrentSiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int CurrentDivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; return((from p in db.ViewPurchaseInvoiceBalance join t in db.PurchaseInvoiceHeader on p.PurchaseInvoiceHeaderId equals t.PurchaseInvoiceHeaderId into table from tab in table.DefaultIfEmpty() join t1 in db.PurchaseGoodsReceiptLine on p.PurchaseGoodsReceiptLineId equals t1.PurchaseGoodsReceiptLineId into table1 from tab1 in table1.DefaultIfEmpty() where tab1.ProductId == id && tab.SupplierId == PurchaseInvoiceReturnHeader.SupplierId && p.BalanceQty > 0 && (string.IsNullOrEmpty(term) ? 1 == 1 : tab.DocNo.Contains(term)) && (string.IsNullOrEmpty(settings.filterContraSites) ? p.SiteId == CurrentSiteId : contraSites.Contains(p.SiteId.ToString())) && (string.IsNullOrEmpty(settings.filterContraDivisions) ? p.DivisionId == CurrentDivisionId : contraDivisions.Contains(p.DivisionId.ToString())) select new PurchaseInvoiceListViewModel { PurchaseInvoiceLineId = p.PurchaseInvoiceLineId, PurchaseInvoiceHeaderId = p.PurchaseInvoiceHeaderId, DocNo = tab.DocNo, GoodsReceiptDocNo = p.PurchaseGoodsReceiptNo, Dimension1Name = tab1.Dimension1.Dimension1Name, Dimension2Name = tab1.Dimension2.Dimension2Name, BalanceQty = p.BalanceQty, } ).Take(Limit)); }