public List <GetChiTietSoNo> GetChiTietSoNo(DateTime fromDate, DateTime toDate) { var dkData = BalanceLogic.GetSoDuDauKyCongNo(fromDate); dkData = dkData.Where(o => o.DebitBalance > 0 || o.CreditBalance > 0).ToList(); var psData = ReportDAO.GetChiTietSoNo(fromDate, toDate); // Thêm DK var dkNotPS = new List <GetChiTietSoNo>(); foreach (GetBalance item in dkData) { var psFind = psData.FindAll(o => o.AccountID == item.AccountID && o.AccountDetailID == item.AccountDetailID && o.CustomerID == item.CustomerID); // có ps if (psFind != null && psFind.Count > 0) { psFind.ForEach(o => { o.DKNo = item.DebitBalance; o.DKCo = item.CreditBalance; }); } // không có ps else { dkNotPS.Add(new GetChiTietSoNo { AccountID = item.AccountID, AccountDetailID = item.AccountDetailID, CustomerID = item.CustomerID, CustomerName = item.CustomerName, CustomerSName = item.CustomerSName, DKNo = item.DebitBalance, DKCo = item.CreditBalance }); } } // Thêm danh sách có đầu kỳ nhưng không có phát sinh psData.AddRange(dkNotPS); return(psData); }