コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }