public decimal TinhToanSLPhatTheoDaiLy(string MaDaiLy, string MaLoaiVeSo, System.DateTime NgayNhan) { var dao = new QLVSDbContext(); decimal SLDK = dao.SoLuongDKs.OrderByDescending(m => m.NgayDK).Where(m => m.MaDaiLy == MaDaiLy & System.DateTime.Compare((DateTime)m.NgayDK, NgayNhan) <= 0).Select(m => (int)m.SoLuongDK1).FirstOrDefault(); var listTop3 = dao.PhatHanhs.OrderByDescending(m => m.NgayNhan).Where(m => m.MaDaiLy == MaDaiLy & m.SLBan != null).ToList().Take(3); int count = listTop3.Count(); if (count == 0) { return(SLDK); } else { decimal sum = 0; foreach (var item in listTop3) { decimal a = (decimal)item.SLBan; decimal b = (decimal)item.SoLuong; sum += a / b; } decimal?getReturn = Math.Round(((decimal)sum * SLDK) / count); return(getReturn ?? default(decimal)); } }