public IEnumerable <ComboBoxList> GetPendingProductsForSaleDelivery(int sid, string term)//DocTypeId { var SaleDelivery = new SaleDeliveryOrderHeaderService(_unitOfWork).Find(sid); // var settings = new JobInvoiceSettingsService(_unitOfWork).GetJobInvoiceSettingsForDocument(JobInvoice.DocTypeId, JobInvoice.DivisionId, JobInvoice.SiteId); //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" }; } return((from p in db.ViewSaleOrderBalanceForCancellation join t in db.Product on p.ProductId equals t.ProductId into ProdTable from ProTab in ProdTable.DefaultIfEmpty() where p.BalanceQty > 0 && ProTab.ProductName.ToLower().Contains(term.ToLower()) && SaleDelivery.BuyerId == p.BuyerId group new { p, ProTab } by p.ProductId into g orderby g.Key descending select new ComboBoxList { Id = g.Key, PropFirst = g.Max(m => m.ProTab.ProductName) } ).Take(20)); }
public IEnumerable <SaleDeliveryProductHelpList> GetProductHelpList(int Id, string term, int Limit) { var SAleDeliveryOrder = new SaleDeliveryOrderHeaderService(_unitOfWork).Find(Id); //var settings = new JobInvoiceSettingsService(_unitOfWork).GetJobInvoiceSettingsForDocument(JobInvoice.DocTypeId, JobInvoice.DivisionId, JobInvoice.SiteId); //string[] ProductTypes = null; //if (!string.IsNullOrEmpty(settings.filterProductTypes)) { ProductTypes = settings.filterProductTypes.Split(",".ToCharArray()); } //else { ProductTypes = 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" }; } var list = (from p in db.ViewSaleOrderBalanceForCancellation join t in db.SaleOrderHeader on p.SaleOrderHeaderId equals t.SaleOrderHeaderId join t2 in db.SaleOrderLine on p.SaleOrderLineId equals t2.SaleOrderLineId where (string.IsNullOrEmpty(term) ? 1 == 1 : p.Product.ProductName.ToLower().Contains(term.ToLower()) || string.IsNullOrEmpty(term) ? 1 == 1 : p.SaleOrderNo.ToLower().Contains(term.ToLower()) || string.IsNullOrEmpty(term) ? 1 == 1 : t.BuyerOrderNo.ToLower().Contains(term.ToLower()) ) && p.BuyerId == SAleDeliveryOrder.BuyerId orderby t.DocDate, t.DocNo select new SaleDeliveryProductHelpList { ProductName = p.Product.ProductName, ProductId = p.ProductId, Specification = t2.Specification, SaleOrderDocNo = p.SaleOrderNo, SaleOrderLineId = p.SaleOrderLineId, Qty = p.BalanceQty, } ).Take(Limit); return(list.ToList()); }