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(); } } }