| | |
| | | ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>(); |
| | | List<Dt_LocationInfo> dt_LocationInfos = sugarQueryable.ToList(); |
| | | |
| | | ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)).Includes(x => x.Details); |
| | | List<Dt_StockInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList(); |
| | | //ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)).Includes(x => x.Details); |
| | | //List<Dt_StockInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList(); |
| | | |
| | | ISugarQueryable<Dt_InventoryInfo> sugarQueryable1 = _dbBase.Queryable<Dt_InventoryInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)); |
| | | List<Dt_InventoryInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList(); |
| | | foreach (var dt_LocationInfo in dt_LocationInfos) |
| | | { |
| | | LocationStockView locationStockView = new LocationStockView() |
| | |
| | | RoadwayNo = dt_LocationInfo.RoadwayNo, |
| | | Row = dt_LocationInfo.Row |
| | | }; |
| | | List<Dt_StockInfo> dt_StockInfos = StockInfos.Where(x => x.LocationCode == dt_LocationInfo.LocationCode).ToList(); |
| | | List<Dt_StockInfoDetail> Details = new List<Dt_StockInfoDetail>(); |
| | | foreach (var item in dt_StockInfos) |
| | | { |
| | | Details.AddRange(item.Details); |
| | | } |
| | | var BatchNo = string.Join(",", Details.GroupBy(x => x.BatchNo).Select(x => x.Key).ToList()); |
| | | List<Dt_InventoryInfo> dt_StockInfos = StockInfos.Where(x => x.LocationCode == dt_LocationInfo.LocationCode).ToList(); |
| | | //List<Dt_StockInfoDetail> Details = new List<Dt_StockInfoDetail>(); |
| | | //foreach (var item in dt_StockInfos) |
| | | //{ |
| | | // Details.AddRange(item.Details); |
| | | //} |
| | | //var BatchNo = string.Join(",", Details.GroupBy(x => x.BatchNo).Select(x => x.Key).ToList()); |
| | | if (dt_StockInfos.Count > 0 && dt_StockInfos != null) |
| | | { |
| | | locationStockView.BatchNo = BatchNo; |
| | | locationStockView.BatchNo = dt_StockInfos.First().BatchNo; |
| | | locationStockView.InDate = dt_StockInfos.OrderByDescending(x => x.InDate).First().InDate; |
| | | locationStockView.MaterielCode = dt_StockInfos.First().Details.First().MaterielCode; |
| | | locationStockView.MaterielName = dt_StockInfos.First().Details.First().MaterielName; |
| | | locationStockView.OrderNo = dt_StockInfos.First().Details.First().OrderNo; |
| | | locationStockView.MaterielCode = dt_StockInfos.First().MaterielCode; |
| | | locationStockView.MaterielName = dt_StockInfos.First().MaterielName; |
| | | //locationStockView.OrderNo = dt_StockInfos.First().OrderNo; |
| | | locationStockView.PalletCode = string.Join(",", dt_StockInfos.Select(x => x.PalletCode).ToList()); |
| | | locationStockView.Quantity = dt_StockInfos.Count; |
| | | locationStockView.BoxQty = dt_StockInfos.Select(x => x.BoxQuantity).Sum(); |
| | | locationStockView.StockQuantity = dt_StockInfos.Select(x => x.StockQuantity).Sum(); |
| | | } |
| | | locationStockViews.Add(locationStockView); |
| | | } |