Exemplo n.º 1
0
        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));
            }
        }