public List <StockCardBO> getStockCardInformationByEachItem(string itemNumber) { //Retreive Data and Sort By Date List <StockCardBO> SortedList = da.getStockCardofEachItem(itemNumber).OrderBy(o => o.Date).ToList(); //Show Balance int flag = 0; int?originalBalance = 0; List <StockCardBO> showBalanceList = new List <StockCardBO>(); foreach (StockCardBO s in SortedList) { flag++; StockCardBO sObj = new StockCardBO(); sObj.Date = s.Date; sObj.Name = s.Name; sObj.Quantity = s.Quantity; if (flag == 1) { originalBalance = s.Balance; originalBalance = originalBalance + int.Parse(s.Quantity); sObj.Balance = originalBalance; } else { originalBalance = originalBalance + int.Parse(s.Quantity); sObj.Balance = originalBalance; } showBalanceList.Add(sObj); } return(showBalanceList); }
//Get the StockCard of each item public List <StockCardBO> getStockCardofEachItem(string itemNumber) { int flag = 0; List <StockCardBO> lst = new List <StockCardBO>(); //For Department Side' var qryDepartment = (from i in context.Items join di in context.Disbursement_Item on i.ItemID equals di.ItemID join d in context.Disbursements on di.DisbursementID equals d.DisbursementID join dep in context.Departments on d.DepartmentID equals dep.DepartmentID where i.ItemNumber.Equals(itemNumber) select new { di.Date, dep.DepartmentName, di.Qty, i.InStockQty }).ToList(); foreach (var s in qryDepartment)//have already changed to item date { flag = flag + 1; StockCardBO stock = new StockCardBO(); stock.Date = s.Date; stock.Name = s.DepartmentName; stock.Quantity = "-" + s.Qty.ToString(); stock.Balance = s.InStockQty; lst.Add(stock); } //For Supplier Side var qrySupplier = (from i in context.Items join pItem in context.Purchase_Item on i.ItemID equals pItem.ItemID join p in context.Purchases on pItem.PurchaseID equals p.PurchaseID join s in context.Suppliers on pItem.SupplierID equals s.SupplierID where i.ItemNumber.Equals(itemNumber) //need to confirm select new { pItem.DateSupplied, s.SupplierName, pItem.QuantityReceived, i.InStockQty }).ToList(); foreach (var s in qrySupplier) { if (s.QuantityReceived == 0) { //Quantity is zero didn't addd to the list } else { StockCardBO stock = new StockCardBO(); stock.Date = s.DateSupplied; stock.Name = s.SupplierName; stock.Quantity = "+" + s.QuantityReceived.ToString(); stock.Balance = s.InStockQty; lst.Add(stock); } } //For Adjustment var qryAdjustment = (from i in context.Items join adjI in context.Adjustment_Item on i.ItemID equals adjI.ItemID join adj in context.Adjustments on adjI.AdjustmentID equals adj.AdjustmentID where i.ItemNumber.Equals(itemNumber) && adj.Status.Equals("Approved") select new { adj.Date, adjI.Adjustment_ItemID, adjI.AdjustedQty, i.InStockQty }).ToList(); foreach (var s in qryAdjustment) { StockCardBO stock = new StockCardBO(); stock.Date = s.Date; stock.Name = "Stock Adjustment No: " + s.Adjustment_ItemID; if (s.AdjustedQty < 0) { stock.Quantity = s.AdjustedQty.ToString(); } else { stock.Quantity = "+" + s.AdjustedQty.ToString(); } stock.Balance = s.InStockQty; lst.Add(stock); } return(lst); }