예제 #1
0
        public ActionResult Index()
        {
            // doanh thu theo tháng
            List <DoanhThuModel> lst_doanhthutheothang = new List <DoanhThuModel>();
            var list = db.HoaDonBans.ToList();

            string[]      list_thang   = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
            List <double> lst_tongtien = new List <double>();

            foreach (var item_thang in list_thang)
            {
                var doanhthu = new DoanhThuModel();
                doanhthu.Label = item_thang;
                double tongtien    = 0;
                int    tongsoluong = 0;
                foreach (var item in list)
                {
                    var dao = new DoanhThuDao();
                    if (dao.thang_hoadon(item.NgayBan) == Convert.ToInt32(item_thang))
                    {
                        tongsoluong += new HoaDonBanDao().tongsoluong(item.Id);
                        tongtien    += Convert.ToDouble(item.TongTien);
                    }
                }
                doanhthu.NgayBan    = item_thang + "/" + DateTime.Now.Year;
                doanhthu.Y          = tongtien;
                doanhthu.SoLuongBan = tongsoluong;
                lst_doanhthutheothang.Add(doanhthu);
            }
            ViewBag.ListDoanhThu = lst_doanhthutheothang;
            ViewBag.DataPoints   = JsonConvert.SerializeObject(lst_doanhthutheothang);
            return(View());
        }
예제 #2
0
 // GET: Admin/Home
 public ActionResult Index()
 {
     if (Session["Account"] == null)
     {
         return(RedirectToAction("Index", "Login", new { area = "" }));
     }
     else
     {
         CustomerModel cus           = new CustomerModel();
         ProductModel  pro           = new ProductModel();
         OrderModel    ord           = new OrderModel();
         DoanhThuModel doanhthu      = new DoanhThuModel();
         string        customer      = cus.countCustomer();
         string        product       = pro.countProduct();
         string        order         = ord.countOrder();
         string        dt            = doanhthu.DoanhThu();
         List <int>    doanhthuthang = new List <int>();
         for (int i = 0; i < 12; i++)
         {
             doanhthuthang.Add(doanhthu.DoanhThuThang(i + 1));
         }
         ViewBag.DoanhThuThang = doanhthuthang.ToList();
         ViewBag.countCus      = customer;
         ViewBag.countPro      = product;
         ViewBag.countOrder    = order;
         ViewBag.DoanhThu      = dt;
         return(View());
     }
 }
        private DoanhThuModel CalDoanhThuNgay(string date)
        {
            DoanhThuModel doanhThu = new DoanhThuModel();

            // Tính doanh thu của từng phòng
            // Khởi tạo doanh thu = 0 cho từng phòng
            var phongs = db.PHONGs.ToList();
            List <DoanhThuPhongModel> doanhThuPhongs = new List <DoanhThuPhongModel>();

            phongs.ForEach(phong =>
            {
                DoanhThuPhongModel doanhThuPhong = new DoanhThuPhongModel();
                doanhThuPhong.maPhong            = phong.MA_PHONG;
                doanhThuPhong.doanhThu           = 0;
                doanhThuPhongs.Add(doanhThuPhong);
            });

            // chuyển ngày cần tính daonh thu sang DateTime
            DateTime dateNeed = DateTime.ParseExact(date, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);

            // Lọc các phiếu thêu phòng thỏa ngày cần tính doanh thu
            // -> cộng doanh thu cho phòng tương ứng khi được thuê (có trong bảng CT thuê phòng)
            var phieuThuePhongs = db.PHIEU_THUEPHONG.ToList();

            phieuThuePhongs
            .Where(phieu => {
                return(DateTime.Compare(phieu.NGAYDEN, dateNeed) <= 0 && DateTime.Compare(phieu.NGAYDI, dateNeed) >= 0);
            })
            .ToList()
            .ForEach(phieu => {
                var ctPhieu = phieu.CHITIET_THUEPHONG.ToList();
                ctPhieu.ForEach(ct =>
                {
                    doanhThuPhongs.Find(dt => dt.maPhong == ct.MAPHONG).doanhThu += (decimal)ct.GIAPHONG;
                });
            });
            doanhThu.doanhThuPhongs = doanhThuPhongs;

            // Tính doanh thu thuê dịch vụ
            decimal doanhThuDichVu = 0;

            phieuThuePhongs
            .Where(phieu => DateTime.Compare(phieu.NGAYDI, dateNeed) == 0)
            .ToList()
            .ForEach(phieu => {
                var ctPhieu = phieu.CHITIET_THUEDICHVU.ToList();
                ctPhieu.ForEach(ct =>
                {
                    doanhThuDichVu += (decimal)ct.GIA_DICHVU * ct.SOLUONG;
                });
            });
            doanhThu.doanhThuDichVu = doanhThuDichVu;

            return(doanhThu);
        }
예제 #4
0
        // GET: Admin/DoanhThu
        public ActionResult Index()
        {
            var        doanhthu      = new DoanhThuModel();
            List <int> doanhthuthang = new List <int>();

            for (int i = 0; i < 12; i++)
            {
                doanhthuthang.Add(doanhthu.DoanhThuThang(i + 1));
            }
            ViewBag.DoanhThu = doanhthuthang.ToList();

            return(View());
        }
        public void DoanhThuNamDownload(string year)
        {
            DoanhThuModel doanhThu   = CalDoanhThuNam(year);
            string        titleSheet = $"DOANH THU  NĂM {year}";
            string        nameSheet  = year;

            ExcelPackage ep = CreateExcelDoanhThu(doanhThu, titleSheet, nameSheet);

            Response.Clear();
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment: filename=" + "Report.xlsx");
            Response.BinaryWrite(ep.GetAsByteArray());
            Response.End();
        }
        public ActionResult DoanhThuNam(string year)
        {
            if (year == null)
            {
                ViewBag.username = ((LoginSessionModel)Session["session"]).name;
                return(View(new DoanhThuModel()));
            }

            DoanhThuModel doanhThu = CalDoanhThuNam(year);

            ViewBag.year     = year;
            ViewBag.username = ((LoginSessionModel)Session["session"]).name;
            return(View(doanhThu));
        }
        public ActionResult DoanhThuThang(string monthAndYear)
        {
            if (monthAndYear == null)
            {
                ViewBag.username = ((LoginSessionModel)Session["session"]).name;
                return(View(new DoanhThuModel()));
            }

            DoanhThuModel doanhThu = CalDoanhThuThang(monthAndYear);

            ViewBag.monthandyear = monthAndYear;
            ViewBag.username     = ((LoginSessionModel)Session["session"]).name;
            return(View(doanhThu));
        }
        public ActionResult DoanhThuNgay(string date)
        {
            if (date == null)
            {
                ViewBag.username = ((LoginSessionModel)Session["session"]).name;
                return(View(new DoanhThuModel()));
            }

            DoanhThuModel doanhThu = CalDoanhThuNgay(date);

            ViewBag.date     = date;
            ViewBag.username = ((LoginSessionModel)Session["session"]).name;
            return(View(doanhThu));
        }
        public void DoanhThuThangDownload(string monthAndYear)
        {
            string[]      my         = monthAndYear.Split(new[] { '-' });
            DoanhThuModel doanhThu   = CalDoanhThuThang(monthAndYear);
            string        titleSheet = $"DOANH THU THÁNG {my[1]} NĂM {my[0]}";
            string        nameSheet  = $"{my[0]}-{my[1]}";

            ExcelPackage ep = CreateExcelDoanhThu(doanhThu, titleSheet, nameSheet);

            Response.Clear();
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment: filename=" + "Report.xlsx");
            Response.BinaryWrite(ep.GetAsByteArray());
            Response.End();
        }
예제 #10
0
        // GET: Admin/DoanhThu
        public ActionResult Index()
        {
            if (Session["Account"] == null)
            {
                return(RedirectToAction("Index", "Login", new { area = "" }));
            }
            else
            {
                var        doanhthu      = new DoanhThuModel();
                List <int> doanhthuthang = new List <int>();
                for (int i = 0; i < 12; i++)
                {
                    doanhthuthang.Add(doanhthu.DoanhThuThang(i + 1));
                }
                ViewBag.DoanhThu = doanhthuthang.ToList();

                return(View());
            }
        }
예제 #11
0
        public ActionResult Index()
        {
            // doanh thu theo tháng
            var session = (DoAn.Common.Session.UserLogin)Session[DoAn.Common.Constants.USER_SESSION];

            if (session != null)
            {
                List <DoanhThuModel> lst_doanhthutheothang = new List <DoanhThuModel>();
                var           list         = db.HoaDonBans.Where(x => x.DaThanhToan == 1).ToList();
                string[]      list_thang   = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
                List <double> lst_tongtien = new List <double>();

                foreach (var item_thang in list_thang)
                {
                    double tongtien    = 0;
                    int    tongsoluong = 0;
                    foreach (var item in list)
                    {
                        var dao = new DoanhThuDao();
                        if (dao.thang_hoadon(item.NgayBan) == Convert.ToInt32(item_thang))
                        {
                            tongsoluong += new HoaDonBanDao().tongsoluong(item.Id);
                            tongtien    += Convert.ToDouble(item.TongTien);
                        }
                    }
                    var ngayban  = item_thang + "/" + DateTime.Now.Year;
                    var doanhthu = new DoanhThuModel(item_thang, tongtien, ngayban, tongsoluong);
                    lst_doanhthutheothang.Add(doanhthu);
                }
                ViewBag.ListDoanhThu = lst_doanhthutheothang;
                ViewBag.DataPoints   = JsonConvert.SerializeObject(lst_doanhthutheothang);
                return(View());
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #12
0
        // GET: Admin/Home
        public ActionResult Index()
        {
            CustomerModel cus           = new CustomerModel();
            ProductModel  pro           = new ProductModel();
            OrderModel    ord           = new OrderModel();
            DoanhThuModel doanhthu      = new DoanhThuModel();
            string        customer      = cus.countCustomer();
            string        product       = pro.countProduct();
            string        order         = ord.countOrder();
            string        dt            = doanhthu.DoanhThu();
            List <int>    doanhthuthang = new List <int>();

            for (int i = 0; i < 12; i++)
            {
                doanhthuthang.Add(doanhthu.DoanhThuThang(i + 1));
            }
            ViewBag.DoanhThuThang = doanhthuthang.ToList();
            ViewBag.countCus      = customer;
            ViewBag.countPro      = product;
            ViewBag.countOrder    = order;
            ViewBag.DoanhThu      = dt;
            return(View());
        }
예제 #13
0
        public ActionResult DoanhThuTheoNgay(DateTime?from = null, DateTime?to = null)
        {
            // doanh thu theo tháng
            List <DoanhThuModel> lst_doanhthutheothang = new List <DoanhThuModel>();
            DateTime             dt           = DateTime.Now;
            List <double>        lst_tongtien = new List <double>();
            var list = db.HoaDonBans.ToList();

            if (from == null || to == null)
            {
                var list_ngay_now       = new DoanhThuDao().dsngaytrongthang(dt.Month, dt.Year);
                var list_ngay_now_split = list_ngay_now.Split(',');
                foreach (var item_ngay in list_ngay_now_split)
                {
                    if (item_ngay != "")
                    {
                        var ngay_split = item_ngay.Split('/');
                        var ngay       = ngay_split[0];
                        var doanhthu   = new DoanhThuModel();
                        doanhthu.Label = item_ngay;
                        double tongtien    = 0;
                        int    tongsoluong = 0;
                        foreach (var item in list)
                        {
                            var dao = new DoanhThuDao();
                            if (dao.ngay_hoadon(item.NgayBan) == Convert.ToInt32(ngay) &&
                                dao.thang_hoadon(item.NgayBan) == Convert.ToInt32(dt.Month) &&
                                dao.nam_hoadon(item.NgayBan) == Convert.ToInt32(dt.Year))
                            {
                                tongsoluong += new HoaDonBanDao().tongsoluong(item.Id);
                                tongtien    += Convert.ToDouble(item.TongTien);
                            }
                        }
                        doanhthu.NgayBan    = item_ngay;
                        doanhthu.SoLuongBan = tongsoluong;
                        doanhthu.Y          = tongtien;
                        lst_doanhthutheothang.Add(doanhthu);
                    }
                }
            }
            else
            {
                var ngayfrom1  = Convert.ToDateTime(from).Day;
                var thangfrom1 = Convert.ToDateTime(from).Month;
                var namfrom1   = Convert.ToDateTime(from).Year;
                var ngayto1    = Convert.ToDateTime(to).Day;
                var thangto1   = Convert.ToDateTime(to).Month;
                var namto1     = Convert.ToDateTime(to).Year;

                var ngayfrom  = Convert.ToInt32(ngayfrom1);
                var thangfrom = Convert.ToInt32(thangfrom1);
                var namfrom   = Convert.ToInt32(namfrom1);
                var ngayto    = Convert.ToInt32(ngayto1);
                var thangto   = Convert.ToInt32(thangto1);
                var namto     = Convert.ToInt32(namto1);



                if (namto != namfrom || thangto < thangfrom || (thangto < thangfrom && ngayto < ngayfrom))
                {
                }
                else
                {
                    var    tru         = thangto - thangfrom;
                    string string_ngay = "";

                    if (tru == 0)
                    {
                        string_ngay += new DoanhThuDao().ds_ngay_tru_trongthang(ngayfrom, ngayto, thangfrom, namfrom);
                    }
                    else
                    {
                        string_ngay += new DoanhThuDao().ds_ngay_tru_thangfrom(ngayfrom, thangfrom, namfrom);
                        for (int i = thangfrom + 1; i < thangto; i++)
                        {
                            string_ngay += new DoanhThuDao().dsngaytrongthang(i, namfrom);
                        }
                        string_ngay += new DoanhThuDao().ds_ngay_tru_thangto(ngayto, thangto, namto);
                    }
                    var string_ngay_split = string_ngay.Split(',');
                    foreach (var item_ngay in string_ngay_split)
                    {
                        if (item_ngay != "")
                        {
                            var ngay_split = item_ngay.Split('/');
                            var ngay       = ngay_split[0];
                            var thang      = ngay_split[1];
                            var doanhthu   = new DoanhThuModel();
                            doanhthu.Label = item_ngay;
                            double tongtien    = 0;
                            int    tongsoluong = 0;
                            foreach (var item in list)
                            {
                                var dao = new DoanhThuDao();
                                if (dao.ngay_hoadon(item.NgayBan) == Convert.ToInt32(ngay) &&
                                    dao.thang_hoadon(item.NgayBan) == Convert.ToInt32(thang) &&
                                    dao.nam_hoadon(item.NgayBan) == Convert.ToInt32(namto))
                                {
                                    tongsoluong += new HoaDonBanDao().tongsoluong(item.Id);
                                    tongtien    += Convert.ToDouble(item.TongTien);
                                }
                            }
                            doanhthu.NgayBan    = item_ngay;
                            doanhthu.SoLuongBan = tongsoluong;
                            doanhthu.Y          = tongtien;
                            lst_doanhthutheothang.Add(doanhthu);
                        }
                    }
                }
            }
            ViewBag.TongSoLuong      = lst_doanhthutheothang;
            ViewBag.DoanhThuTheoNgay = JsonConvert.SerializeObject(lst_doanhthutheothang);
            return(View());
        }
예제 #14
0
        public ActionResult DoanhThuTheoNgay_ChiNhanh(string thang = null)
        {
            var session = (DoAn.Common.Session.UserLogin)Session[DoAn.Common.Constants.USER_SESSION];

            if (session != null)
            {
                List <DoanhThuModel> lst_doanhthutheothang = new List <DoanhThuModel>();

                List <double> lst_tongtien  = new List <double>();
                var           list          = db.HoaDonBans.ToList();
                var           list_chinhanh = db.ChiNhanhs.ToList();

                if (thang == null)
                {
                    foreach (var item in list_chinhanh)
                    {
                        var doanhthu = new DoanhThuModel();
                        int?tongtien = 0;
                        foreach (var itemhdb in list)
                        {
                            if (itemhdb.MaChiNhanh == item.Id)
                            {
                                tongtien += itemhdb.TongTien_HoaDon;
                            }
                        }
                        doanhthu.Label = item.TenChiNhanh;
                        doanhthu.Y     = tongtien;
                        lst_doanhthutheothang.Add(doanhthu);
                    }
                }
                else
                {
                    string[] thang_split = thang.Split('-');
                    var      thang_bc    = Convert.ToInt32(thang_split[1]);
                    var      nam_bc      = Convert.ToInt32(thang_split[0]);

                    var dao = new DoanhThuDao();
                    foreach (var item in list_chinhanh)
                    {
                        var doanhthu = new DoanhThuModel();
                        int?tongtien = 0;
                        foreach (var itemhdb in list)
                        {
                            if (itemhdb.MaChiNhanh == item.Id && dao.thang_hoadon(itemhdb.NgayBan) == thang_bc &&
                                dao.nam_hoadon(itemhdb.NgayBan) == nam_bc)
                            {
                                tongtien += itemhdb.TongTien_HoaDon;
                            }
                        }
                        doanhthu.Label = item.TenChiNhanh;
                        doanhthu.Y     = tongtien;
                        lst_doanhthutheothang.Add(doanhthu);
                    }
                }



                ViewBag.TongSoLuong      = lst_doanhthutheothang;
                ViewBag.DoanhThuTheoNgay = JsonConvert.SerializeObject(lst_doanhthutheothang);
                return(View());
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
            // doanh thu theo tháng
        }
        private static ExcelPackage CreateExcelDoanhThu(DoanhThuModel doanhThu, string titleSheet, string nameSheet)
        {
            // create excel file
            ExcelPackage   ep    = new ExcelPackage();
            ExcelWorksheet sheet = ep.Workbook.Worksheets.Add(nameSheet);

            sheet.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Column(2).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Column(2).Width = 24.85;
            sheet.Column(3).Style.Numberformat.Format = "#,##0.00";

            sheet.Row(1).Style.Font.Bold = true;
            //sheet.Row(1).Style.Fill.PatternType = ExcelFillStyle.Solid;
            //sheet.Row(1).Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.FromArgb(180, 198, 231));
            sheet.Cells["A1:C1"].Merge = true;
            sheet.Cells["A1"].Value    = titleSheet;

            sheet.Cells["A2"].Value = "STT";
            sheet.Cells["B2"].Value = "Phòng";
            sheet.Cells["C2"].Value = "Tổng tiền phòng";
            sheet.Cells["C2"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Row(2).Style.Font.Bold = true;

            int row = 3;

            doanhThu.doanhThuPhongs.ForEach(phong =>
            {
                sheet.Cells[$"A{row}"].Value = row - 2;
                sheet.Cells[$"B{row}"].Value = phong.maPhong;
                sheet.Cells[$"C{row}"].Value = phong.doanhThu;
                row++;
            });

            sheet.Row(row).Style.Font.Bold      = true;
            sheet.Cells[$"A{row}:B{row}"].Merge = true;
            sheet.Cells[$"A{row}"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Cells[$"A{row}"].Value   = "Tổng doanh thu tiền thuê phòng";
            sheet.Cells[$"C{row}"].Formula = $"SUM(C{3}:C{row - 1})";

            row++;
            sheet.Row(row).Style.Font.Bold      = true;
            sheet.Cells[$"A{row}:B{row}"].Merge = true;
            sheet.Cells[$"A{row}"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Cells[$"A{row}"].Value = "Tổng doanh thu tiền thuê dịch vụ";
            sheet.Cells[$"C{row}"].Value = doanhThu.doanhThuDichVu;

            row++;
            sheet.Row(row).Style.Font.Bold      = true;
            sheet.Cells[$"A{row}:B{row}"].Merge = true;
            sheet.Cells[$"A{row}"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            sheet.Cells[$"A{row}"].Value   = "Tổng doanh thu";
            sheet.Cells[$"C{row}"].Formula = $"SUM(C{row - 2}, C{row - 1})";

            var range = sheet.Cells[$"A1:C{row}"];

            range.Style.Border.Top.Style    = ExcelBorderStyle.Thin;
            range.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
            range.Style.Border.Left.Style   = ExcelBorderStyle.Thin;
            range.Style.Border.Right.Style  = ExcelBorderStyle.Thin;

            sheet.Column(3).AutoFit();

            return(ep);
        }
        private DoanhThuModel CalDoanhThuNam(string year)
        {
            DoanhThuModel doanhThu = new DoanhThuModel();
            int           yearNeed = Int32.Parse(year);

            DateTime dateMin = new DateTime(yearNeed, 1, 1);
            DateTime dateMax = new DateTime(yearNeed, 12, 31);

            // Tính doanh thu của từng phòng
            // Khởi tạo doanh thu = 0 cho từng phòng
            var phongs = db.PHONGs.ToList();
            List <DoanhThuPhongModel> doanhThuPhongs = new List <DoanhThuPhongModel>();

            phongs.ForEach(phong =>
            {
                DoanhThuPhongModel doanhThuPhong = new DoanhThuPhongModel();
                doanhThuPhong.maPhong            = phong.MA_PHONG;
                doanhThuPhong.doanhThu           = 0;
                doanhThuPhongs.Add(doanhThuPhong);
            });

            // Lọc các phiếu thêu phòng thỏa ngày cần tính doanh thu

            var phieuThuePhongs = db.PHIEU_THUEPHONG.ToList();


            // cộng doanh thu cho phòng tương ứng khi được thuê (có trong bảng CT thuê phòng)
            phieuThuePhongs
            .Where(phieu => {
                return(DateTime.Compare(phieu.NGAYDEN, dateMax) <= 0 && DateTime.Compare(phieu.NGAYDI, dateMin) >= 0);
            })
            .ToList()
            .ForEach(phieu => {
                var ctPhieu = phieu.CHITIET_THUEPHONG.ToList();

                if (DateTime.Compare(phieu.NGAYDEN, dateMin) >= 0)
                {
                    if (DateTime.Compare(phieu.NGAYDI, dateMax) <= 0)
                    {
                        ctPhieu.ForEach((ct) => {
                            doanhThuPhongs
                            .Find(dt => dt.maPhong == ct.MAPHONG)
                            .doanhThu += (decimal)ct.GIAPHONG * (decimal)((phieu.NGAYDI - phieu.NGAYDEN).Ticks / 864e9);
                        });
                    }
                    else
                    {
                        ctPhieu.ForEach((ct) => {
                            doanhThuPhongs
                            .Find(dt => dt.maPhong == ct.MAPHONG)
                            .doanhThu += (decimal)ct.GIAPHONG * (decimal)((dateMax - phieu.NGAYDEN).Ticks / 864e9);
                        });
                    }
                }
                else
                {
                    if (DateTime.Compare(phieu.NGAYDI, dateMax) <= 0)
                    {
                        ctPhieu.ForEach((ct) => {
                            doanhThuPhongs
                            .Find(dt => dt.maPhong == ct.MAPHONG)
                            .doanhThu += (decimal)ct.GIAPHONG * (decimal)((phieu.NGAYDI - dateMin).Ticks / 864e9);
                        });
                    }
                    else
                    {
                        ctPhieu.ForEach((ct) => {
                            doanhThuPhongs
                            .Find(dt => dt.maPhong == ct.MAPHONG)
                            .doanhThu += (decimal)ct.GIAPHONG * (decimal)((dateMax - dateMin).Ticks / 864e9);
                        });
                    }
                }
            });

            doanhThu.doanhThuPhongs = doanhThuPhongs;

            // Tính doanh thu thuê dịch vụ
            decimal doanhThuDichVu = 0;

            phieuThuePhongs
            .Where(phieu => phieu.NGAYDI.Year == yearNeed)
            .ToList()
            .ForEach(phieu =>
            {
                var ctPhieu = phieu.CHITIET_THUEDICHVU.ToList();
                ctPhieu.ForEach(ct =>
                {
                    doanhThuDichVu += (decimal)ct.GIA_DICHVU * ct.SOLUONG;
                });
            });
            doanhThu.doanhThuDichVu = doanhThuDichVu;
            return(doanhThu);
        }