public List<HubFreeStockSummaryView> GetStockSummaryD(int program, DateTime date) { var status = _transactionService.Get(t => t.HubID != null && t.ProgramID == program && DateTime.Compare(t.TransactionDate, date) <= 0); var grouped = ( from s in status group s by s.HubID into g select new { CommodityId = g.Key, Transactions = g } ); var result = new List<HubFreeStockSummaryView>(); foreach (var i in grouped) { decimal phys = 0; decimal free = 0; var hubName = ""; var hubID = 0; foreach (var s in i.Transactions) { hubName = s.Hub.Name; hubID = s.HubID??0; if (s.LedgerID == 2 || s.LedgerID == 3 || s.LedgerID == 12) { phys = phys + Math.Abs(s.QuantityInMT); } if (s.LedgerID == 2) { free = free + Math.Abs(s.QuantityInMT); } } var item = new HubFreeStockSummaryView() { HubID = hubID, HubName = hubName, TotalPhysicalStock = phys, TotalFreestock = free }; result.Add(item); } return result.ToList(); }
public List<HubFreeStockSummaryView> GetStockSummary(int program, string date) { DateTime _date = Convert.ToDateTime(date); var status = _transactionService.Get(t => t.HubID != null && t.ProgramID == program && DateTime.Compare(t.TransactionDate, _date) <= 0); var grouped = ( from s in status group s by s.HubID into g select new { CommodityId = g.Key, Transactions = g } ); var result = new List<HubFreeStockSummaryView>(); foreach (var i in grouped) { decimal phys = 0; decimal free = 0; var hubName = ""; foreach (var s in i.Transactions) { hubName = s.Hub.Name; if (s.LedgerID == 2 || s.LedgerID == 3 || s.LedgerID == 12) { phys = phys + Math.Abs(s.QuantityInMT); } if (s.LedgerID == 2) { free = free + Math.Abs(s.QuantityInMT); } } var item = new HubFreeStockSummaryView() { HubName = hubName, TotalPhysicalStock = phys, TotalFreestock = free }; result.Add(item); } return result.ToList(); //var _date = Convert.ToDateTime(date); //var summary = _transactionService.Get(s => s.ProgramID == program && DateTime.Compare(s.TransactionDate, _date) <= 0); //var grouped = ( // from s in summary // group s by s.ParentCommodityID into g // select g // ); //var result = new List<HubFreeStockSummaryView>(); //foreach (var i in grouped) //{ // var phys = i.Sum(s => s.LedgerID = Ledger.Constants.GOODS_ON_HAND_UNCOMMITED); // var free = i.Sum(f => f.LedgerID = Ledger.Constants.GOODS_ON_HAND_UNCOMMITED); // var Hub = ""; // foreach (var s in i) // { // Hub = i.Key.ToString(); // var item = new HubFreeStockSummaryView() // { // HubName = Hub, // TotalPhysicalStock = phys, // TotalFreestock = free // }; // result.Add(item); // } //} //return result.ToList(); }