private void btnRefresh_Click(object sender, RoutedEventArgs e)
 {
     Bieu_do_cot_so_luong.Refresh();
     Bieu_do_duong_so_luong.Refresh();
 }
        private void btnThongKe_Click(object sender, RoutedEventArgs e)
        {
            if (ThongKeTheoThoiDiem == true)
            {// Thời điểm
                // refresh
                lstBanDuoc.Clear();

                if (cmbType.SelectedIndex == 0) // Thống kê theo ngày
                {
                    // ---------------------------------------------
                    Bieu_do_so_luong.Title = $"Biểu đồ thống kế số lượng sản phẩm bán ra trong ngày {dayStatistic.Text}";

                    // Chỉ cập nhật những sản phẩm có bán được trong ngày hôm đó thôi, để tránh gây rối

                    // Bán hàng trực tiếp
                    // Lưu tên các sản phẩm
                    var lstTemp = Data_handle.Data_interface.database.HOADONs.Where(x => x.NgayLapHD == ngayTK)
                                  .GroupBy(x => x.MaSP).ToList();
                    if (lstTemp.Count() > 0)
                    {
                        foreach (var c in lstTemp)
                        {
                            string _TenSP = Data_handle.Data_interface.database.SANPHAMs.Where(x => x.MaSP == c.Key).Select(x => x.TenSP).SingleOrDefault();
                            lstBanDuoc.Add(new SoSanPhamBanDuoc()
                            {
                                tenSP = _TenSP, maSP = c.Key, soLuong = 0
                            });
                        }

                        // Cập nhật số lượng bán được trong một ngày ở cả "BanHang"
                        foreach (var t in lstBanDuoc)
                        {
                            int soLuong = 0;
                            soLuong = Data_handle.Data_interface.database.HOADONs.Where(x => x.MaSP == t.maSP && x.NgayLapHD == ngayTK)
                                      .Sum(x => x.SoLuong);
                            t.soLuong = soLuong;
                        }
                    }
                }
                else if (cmbType.SelectedIndex == 1) // Thống kê theo tháng
                {
                    // ---------------------------------------------
                    Bieu_do_so_luong.Title = $"Biểu đồ thống kế doanh thu sản phẩm trong tháng {cmbTypeValue.SelectedIndex + 1}";

                    // Chỉ cập nhật những sản phẩm có bán được trong ngày hôm đó thôi, để tránh gây rối

                    // Bán hàng trực tiếp
                    // Lưu tên các sản phẩm
                    var lstTemp = Data_handle.Data_interface.database.HOADONs.Where(x => x.NgayLapHD.Value.Month == cmbTypeValue.SelectedIndex + 1)
                                  .GroupBy(x => x.MaSP).ToList();
                    if (lstTemp.Count() > 0)
                    {
                        foreach (var c in lstTemp)
                        {
                            string _TenSP = Data_handle.Data_interface.database.SANPHAMs.Where(x => x.MaSP == c.Key).Select(x => x.TenSP).SingleOrDefault();
                            lstBanDuoc.Add(new SoSanPhamBanDuoc()
                            {
                                tenSP = _TenSP, maSP = c.Key, soLuong = 0
                            });
                        }

                        // Cập nhật số lượng bán được trong một ngày ở cả "BanHang"
                        foreach (var t in lstBanDuoc)
                        {
                            int soLuong = 0;
                            soLuong = Data_handle.Data_interface.database.HOADONs.Where(x => x.MaSP == t.maSP && x.NgayLapHD.Value.Month == cmbTypeValue.SelectedIndex + 1)
                                      .Sum(x => x.SoLuong);
                            t.soLuong = soLuong;
                        }
                    }
                }
                else if (cmbType.SelectedIndex == 2) // Thống kê theo năm
                {
                    // ---------------------------------------------
                    Bieu_do_so_luong.Title = $"Biểu đồ thống kế doanh thu sản phẩm trong năm {cmbTypeValue.SelectedIndex + 2000}";

                    // Chỉ cập nhật những sản phẩm có bán được trong ngày hôm đó thôi, để tránh gây rối

                    // Bán hàng trực tiếp
                    // Lưu tên các sản phẩm
                    var lstTemp = Data_handle.Data_interface.database.HOADONs.Where(x => x.NgayLapHD.Value.Year == cmbTypeValue.SelectedIndex + 2000)
                                  .GroupBy(x => x.MaSP).ToList();
                    if (lstTemp.Count() > 0)
                    {
                        foreach (var c in lstTemp)
                        {
                            string _TenSP = Data_handle.Data_interface.database.SANPHAMs.Where(x => x.MaSP == c.Key).Select(x => x.TenSP).SingleOrDefault();
                            lstBanDuoc.Add(new SoSanPhamBanDuoc()
                            {
                                tenSP = _TenSP, maSP = c.Key, soLuong = 0
                            });
                        }

                        // Cập nhật số lượng bán được trong một ngày ở cả "BanHang"
                        foreach (var t in lstBanDuoc)
                        {
                            int soLuong = 0;
                            soLuong = Data_handle.Data_interface.database.HOADONs.Where(x => x.MaSP == t.maSP && x.NgayLapHD.Value.Year == cmbTypeValue.SelectedIndex + 2000)
                                      .Sum(x => x.SoLuong);
                            t.soLuong = soLuong;
                        }
                    }
                }
                else // Thống kê theo quý
                {
                    // ---------------------------------------------
                    Bieu_do_so_luong.Title = $"Biểu đồ thống kế doanh thu sản phẩm trong quý {cmbTypeValue.SelectedIndex + 1}";

                    // Chỉ cập nhật những sản phẩm có bán được trong ngày hôm đó thôi, để tránh gây rối

                    // Bán hàng trực tiếp
                    // Lưu tên các sản phẩm
                    var lstTemp = Data_handle.Data_interface.database.HOADONs.Where(x => (x.NgayLapHD.Value.Month - 1) / 4 == cmbTypeValue.SelectedIndex)
                                  .GroupBy(x => x.MaSP).ToList();
                    if (lstTemp.Count() > 0)
                    {
                        foreach (var c in lstTemp)
                        {
                            string _TenSP = Data_handle.Data_interface.database.SANPHAMs.Where(x => x.MaSP == c.Key).Select(x => x.TenSP).SingleOrDefault();
                            lstBanDuoc.Add(new SoSanPhamBanDuoc()
                            {
                                tenSP = _TenSP, maSP = c.Key, soLuong = 0
                            });
                        }

                        // Cập nhật số lượng bán được trong một ngày ở cả "BanHang"
                        foreach (var t in lstBanDuoc)
                        {
                            int soLuong = 0;
                            soLuong = Data_handle.Data_interface.database.HOADONs.Where(x => x.MaSP == t.maSP && (x.NgayLapHD.Value.Month - 1) / 4 == cmbTypeValue.SelectedIndex)
                                      .Sum(x => x.SoLuong);
                            t.soLuong = soLuong;
                        }
                    }
                }

                // Vẽ biểu đồ
                Bieu_do_cot_so_luong.ItemsSource = lstBanDuoc;
                Bieu_do_cot_so_luong.Refresh();

                // Tổng số lượng thu
                int tongSoLuong = 0;
                foreach (var t in lstBanDuoc)
                {
                    tongSoLuong += t.soLuong;
                }
                txtBlckTongThu.Text = tongSoLuong.ToString();
            }
            else
            {// Khoảng thời gian
                // Kiểm tra khoảng thời gian nhập
                if (ngayBDTK > ngayKTTK)
                {
                    MessageBox.Show("Khoảng thời gian nhập vào không hợp Lý", "Thông báo");
                    return;
                }
                else
                {
                    int soSPBan = 0;

                    for (var day = ngayBDTK; day <= ngayKTTK; day = day.AddDays(1))
                    {
                        // Thu
                        if (Data_handle.Data_interface.database.NHAPHANGs.Where(x => x.NgayNhap == day).ToList().Count() == 0)
                        {
                            soSPBan = 0;
                        }
                        else
                        {
                            soSPBan = Data_handle.Data_interface.database.NHAPHANGs.Where(x => x.NgayNhap == day)
                                      .Sum(x => x.SoLuong).Value;
                        }
                        lstSoBanNgay.Add(new KeyValuePair <DateTime, int>(day, soSPBan));
                    }

                    Bieu_do_duong_so_luong.ItemsSource = lstSoBanNgay.ToArray();
                    Bieu_do_duong_so_luong.Refresh();
                }
            }
        }