public IEnumerable <PurchaseOrderLineListViewModel> GetPendingPurchaseOrders(int ProductId, int PurchaseGoodsReceiptHeaderId)//Product Id { var PurchaseReceipt = new PurchaseGoodsReceiptHeaderService(_unitOfWork).Find(PurchaseGoodsReceiptHeaderId); var settings = new PurchaseGoodsReceiptSettingService(_unitOfWork).GetPurchaseGoodsReceiptSettingForDocument(PurchaseReceipt.DocTypeId, PurchaseReceipt.DivisionId, PurchaseReceipt.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 tem = from p in db.ViewPurchaseOrderBalance join t in db.PurchaseOrderLine on p.PurchaseOrderLineId equals t.PurchaseOrderLineId into table from tab in table.DefaultIfEmpty() where p.ProductId == ProductId && p.BalanceQty > 0 && p.SupplierId == PurchaseReceipt.SupplierId && (string.IsNullOrEmpty(settings.filterContraDocTypes) ? 1 == 1 : contraDocTypes.Contains(p.DocTypeId.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())) orderby p.PurchaseOrderNo select new PurchaseOrderLineListViewModel { DocNo = p.PurchaseOrderNo, PurchaseOrderLineId = p.PurchaseOrderLineId, Dimension1Name = tab.Dimension1.Dimension1Name, Dimension2Name = tab.Dimension2.Dimension2Name, }; return(tem); }
public IEnumerable <PurchaseOrderLineListViewModel> GetPendingPurchaseOrderHelpList(int Id, string term) { var GoodsReceipt = new PurchaseGoodsReceiptHeaderService(_unitOfWork).Find(Id); var settings = new PurchaseGoodsReceiptSettingService(_unitOfWork).GetPurchaseGoodsReceiptSettingForDocument(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.ViewPurchaseOrderBalance where (string.IsNullOrEmpty(term) ? 1 == 1 : p.PurchaseOrderNo.ToLower().Contains(term.ToLower())) && p.SupplierId == GoodsReceipt.SupplierId && p.BalanceQty > 0 && (string.IsNullOrEmpty(settings.filterContraDocTypes) ? 1 == 1 : contraDocTypes.Contains(p.DocTypeId.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.PurchaseOrderHeaderId into g select new PurchaseOrderLineListViewModel { DocNo = g.Max(m => m.p.PurchaseOrderNo), PurchaseOrderHeaderId = g.Key, } ).Take(20); return(list.ToList()); }
public IEnumerable <PurchaseGoodsReceiptLineViewModel> GetPurchaseOrdersForFilters(PurchaseGoodsReceiptLineFilterViewModel vm) { var GoodsReceipt = new PurchaseGoodsReceiptHeaderService(_unitOfWork).Find(vm.PurchaseGoodsReceiptHeaderId); string[] ProductIdArr = null; if (!string.IsNullOrEmpty(vm.ProductId)) { ProductIdArr = vm.ProductId.Split(",".ToCharArray()); } else { ProductIdArr = new string[] { "NA" }; } string[] SaleOrderIdArr = null; if (!string.IsNullOrEmpty(vm.PurchaseOrderHeaderId)) { SaleOrderIdArr = vm.PurchaseOrderHeaderId.Split(",".ToCharArray()); } else { SaleOrderIdArr = new string[] { "NA" }; } string[] ProductGroupIdArr = null; if (!string.IsNullOrEmpty(vm.ProductGroupId)) { ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray()); } else { ProductGroupIdArr = new string[] { "NA" }; } var temp = (from p in db.ViewPurchaseOrderBalance join t in db.PurchaseOrderHeader on p.PurchaseOrderHeaderId equals t.PurchaseOrderHeaderId into table from tab in table.DefaultIfEmpty() join product in db.Product on p.ProductId equals product.ProductId into table2 join t1 in db.PurchaseOrderLine on p.PurchaseOrderLineId equals t1.PurchaseOrderLineId into table1 from tab1 in table1.DefaultIfEmpty() from tab2 in table2.DefaultIfEmpty() where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) && (string.IsNullOrEmpty(vm.PurchaseOrderHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseOrderHeaderId.ToString())) && (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) && p.BalanceQty > 0 && p.SupplierId == vm.SupplierId && p.SiteId == GoodsReceipt.SiteId && p.DivisionId == GoodsReceipt.DivisionId orderby tab.DocDate, tab.DocNo, tab1.Sr select new PurchaseGoodsReceiptLineViewModel { Dimension1Name = tab1.Dimension1.Dimension1Name, Dimension2Name = tab1.Dimension2.Dimension2Name, Specification = tab1.Specification, OrderBalanceQty = p.BalanceQty, Qty = p.BalanceQty, DocQty = p.BalanceQty, PurchaseGoodsReceiptHeaderDocNo = tab.DocNo, ProductName = tab2.ProductName, ProductId = p.ProductId, PurchaseGoodsReceiptHeaderId = vm.PurchaseGoodsReceiptHeaderId, PurchaseOrderLineId = p.PurchaseOrderLineId, UnitId = tab2.UnitId, PurchaseOrderDocNo = p.PurchaseOrderNo, DealUnitId = tab1.DealUnitId, OrderDealQty = tab1.DealQty, OrderQty = tab1.Qty, DealunitDecimalPlaces = tab1.DealUnit.DecimalPlaces, UnitConversionMultiplier = tab1.UnitConversionMultiplier, DealQty = (tab1.UnitConversionMultiplier == null || tab1.UnitConversionMultiplier == 0) ? p.BalanceQty : p.BalanceQty * tab1.UnitConversionMultiplier, unitDecimalPlaces = tab2.Unit.DecimalPlaces, } ); return(temp); }