public void ChiTiet(string maChungTu)
 {
     try
     {
         int sl = 0;
         Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[chitiet.Length];
         foreach (Entities.TimKiemChungTu item in chitiet)
         {
             if (item.MaChungTu == maChungTu)
             {
                 temp[sl] = item;
                 sl++;
             }
         }
         Entities.TimKiemChungTu[] ht = new Entities.TimKiemChungTu[sl];
         sl = 0;
         foreach (Entities.TimKiemChungTu item in chitiet)
         {
             if (sl >= ht.Length)
             {
                 break;
             }
             ht[sl] = temp[sl];
             sl++;
         }
         dtgvChiTiet.DataSource = ht;
     }
     catch
     {
     }
     finally
     {
         fixChiTiet();
     }
 }
 public void ChiTiet(string maChungTu)
 {
     try
     {
         int sl = 0;
         Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[chitiet.Length];
         foreach (Entities.TimKiemChungTu item in chitiet)
         {
             if (item.MaChungTu == maChungTu)
             {
                 temp[sl] = item;
                 sl++;
             }
         }
         Entities.TimKiemChungTu[] ht = new Entities.TimKiemChungTu[sl];
         sl = 0;
         foreach (Entities.TimKiemChungTu item in chitiet)
         {
             if (sl >= ht.Length)
                 break;
             ht[sl] = temp[sl];
             sl++;
         }
         dtgvChiTiet.DataSource = ht;
     }
     catch
     {
     }
     finally
     {
         fixChiTiet();
     }
 }
        public void TimKiemTheoDieuKien(string maChungTu, string nhomHang, string matHang, string tenChungTu, string ghiChu)
        {
            try
            {
                int kiemtra = 0;
                int soluong = 0;
                Entities.TimKiemChungTu[] temp1 = new Entities.TimKiemChungTu[hienthi.Length];
                soluong = 0;
                for (int i = 0; i < hienthi.Length; i++)
                {
                    if (hienthi[i].TenChungTu != null)
                    {
                        kiemtra = hienthi[i].TenChungTu.ToUpper().IndexOf(tenChungTu.ToUpper());
                        if (kiemtra >= 0)
                        {
                            kiemtra = hienthi[i].MaChungTu.ToUpper().IndexOf(maChungTu.ToUpper());
                            if (kiemtra >= 0)
                            {
                                kiemtra = hienthi[i].GhiChu.ToUpper().IndexOf(ghiChu.ToUpper());
                                if (kiemtra >= 0)
                                {
                                    temp1[soluong] = hienthi[i];
                                    soluong++;
                                }
                            }
                        }
                    }
                }
                Entities.TimKiemChungTu[] hienthitheoma = new Entities.TimKiemChungTu[soluong];
                for (int i = 0; i < soluong; i++)
                {
                    hienthitheoma[i] = temp1[i];
                }
                bool kt = false;
                int  sl = 0;
                if (txtmathang.Text != "" || txtnhomhang.Text != "")
                {
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[hienthitheoma.Length];
                    for (int i = 0; i < hienthitheoma.Length; i++)
                    {
                        for (int j = 0; j < chitiet.Length; j++)
                        {
                            if (hienthitheoma[i].MaChungTu == chitiet[j].MaChungTu)
                            {
                                if (txtnhomhang.Text != "" && txtmathang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenNhomHang.ToUpper().IndexOf(nhomHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kiemtra = chitiet[j].TenHang.ToUpper().IndexOf(matHang.ToUpper());
                                        if (kiemtra >= 0)
                                        {
                                            kt = true;
                                            break;
                                        }
                                    }
                                }
                                else if (txtmathang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenHang.ToUpper().IndexOf(matHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kt = true;
                                        break;
                                    }
                                }
                                else if (txtnhomhang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenNhomHang.ToUpper().IndexOf(nhomHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kt = true;
                                        break;
                                    }
                                }
                            }
                        }
                        if (kt == true)
                        {
                            temp[sl] = hienthitheoma[i];
                            sl++;
                            kt = false;
                        }
                    }
                    hienthitheoma = new Entities.TimKiemChungTu[sl];

                    for (int i = 0; i < sl; i++)
                    {
                        hienthitheoma[i] = temp[i];
                    }
                }
                baocao = hienthitheoma;
                dtgvHienThi.DataSource = hienthitheoma;
                dtgvChiTiet.DataSource = new Entities.TimKiemChungTu[0];
                if (hienthitheoma.Length > 0)
                {
                    tsslexcel.Enabled = tsslPdf.Enabled = tsslWord.Enabled = tsslchitiet.Enabled = true;
                }
                else
                {
                    tsslexcel.Enabled = tsslPdf.Enabled = tsslWord.Enabled = tsslchitiet.Enabled = false;
                }
            }
            catch
            {
            }
            finally
            {
                fixHienThi();
            }
        }
        public void HienThi()
        {
            try
            {
                hienthi = new Entities.TimKiemChungTu[phieuxuathuy.Length + hdbanhang.Length + hoadonnhap.Length + tralaincc.Length +
                                                      khachhangtralai.Length + phieudieuchuyenkhonoibo.Length + phieuthu.Length + phieuttcuakh.Length + phieuttncc.Length];
                chitiet = new Entities.TimKiemChungTu[chitietxuathuy.Length + chitiethdbanhang.Length + chitiethoadonnhap.Length +
                                                      chitiettralaincc.Length + chitietkhachhangtralai.Length + chitietphieudieuchuyenkho.Length];
                int      soluongchitiet = 0;
                int      soluonghienthi = 0;
                string   machungtu, mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu;
                DateTime ngaylap;
                double   thanhtien, tongtien;
                bool     kt = false;
                // phiếu xuất hủy
                foreach (Entities.PhieuXuatHuy item in phieuxuathuy)
                {
                    machungtu = item.MaPhieuXuatHuy;
                    ngaylap   = item.NgayLap;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.Tongtien);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietXuatHuy item1 in chitietxuathuy)
                        {
                            if (item.MaPhieuXuatHuy == item1.MaPhieuXuatHuy)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa               = item2.MaHangHoa;
                                                tenhanghoa              = item2.TenHangHoa;
                                                manhomhang              = item3.MaNhomHang;
                                                tennhomhang             = item3.TenNhomHang;
                                                soluong                 = item1.SoLuong.ToString();
                                                dongia                  = item2.GiaNhap;
                                                thanhtien               = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Phiếu Xuất Hủy", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Xuất Hủy", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // hóa đơn bán hàng
                foreach (Entities.HDBanHang item in hdbanhang)
                {
                    machungtu = item.MaHDBanHang;
                    ngaylap   = item.NgayBan;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.TongTienThanhToan);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietHDBanHang item1 in chitiethdbanhang)
                        {
                            if (item.MaHDBanHang == item1.MaHDBanHang)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa   = item2.MaHangHoa;
                                                tenhanghoa  = item2.TenHangHoa;
                                                manhomhang  = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong     = item1.SoLuong.ToString();
                                                if (item.LoaiHoaDon == false)
                                                {
                                                    dongia = item2.GiaBanBuon;
                                                }
                                                else
                                                {
                                                    dongia = item2.GiaBanLe;
                                                }
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Hóa Đơn Bán Hàng", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Hóa Đơn Bán Hàng", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // hóa đơn nhập
                foreach (Entities.HoaDonNhap item in hoadonnhap)
                {
                    machungtu = item.MaHoaDonNhap;
                    ngaylap   = item.NgayNhap;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.TongTien);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietHoaDonNhap item1 in chitiethoadonnhap)
                        {
                            if (item.MaHoaDonNhap == item1.MaHoaDonNhap)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa               = item2.MaHangHoa;
                                                tenhanghoa              = item2.TenHangHoa;
                                                manhomhang              = item3.MaNhomHang;
                                                tennhomhang             = item3.TenNhomHang;
                                                soluong                 = item1.SoLuong.ToString();
                                                dongia                  = item2.GiaNhap;
                                                thanhtien               = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Nhập Kho", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Nhập Kho", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // trả lại nhà cung cấp
                foreach (Entities.TraLaiNCC item in tralaincc)
                {
                    machungtu = item.MaHDTraLaiNCC;
                    ngaylap   = item.Ngaytra;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.TienBoiThuong);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietTraLaiNhaCungCap item1 in chitiettralaincc)
                        {
                            if (item.MaHDTraLaiNCC == item1.MaHDTraLaiNCC)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa               = item2.MaHangHoa;
                                                tenhanghoa              = item2.TenHangHoa;
                                                manhomhang              = item3.MaNhomHang;
                                                tennhomhang             = item3.TenNhomHang;
                                                soluong                 = item1.SoLuong.ToString();
                                                dongia                  = item2.GiaNhap;
                                                thanhtien               = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Trả Lại Nhà Cung Cấp", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Trả Lại Nhà Cung Cấp", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // khách hàng trả lại
                foreach (Entities.KhachHangTraLai item in khachhangtralai)
                {
                    machungtu = item.MaKhachHangTraLai;
                    ngaylap   = item.NgayNhap;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.TienBoiThuong);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietKhachHangTraLai item1 in chitietkhachhangtralai)
                        {
                            if (item.MaKhachHangTraLai == item1.MaKhachHangTraLai)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa               = item2.MaHangHoa;
                                                tenhanghoa              = item2.TenHangHoa;
                                                manhomhang              = item3.MaNhomHang;
                                                tennhomhang             = item3.TenNhomHang;
                                                soluong                 = item1.SoLuong.ToString();
                                                dongia                  = item2.GiaBanBuon;
                                                thanhtien               = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Khách Hàng Trả Lại", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        if (kt == true)
                        {
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Khách Hàng Trả Lại", ngaylap, ghichu, tongtien);
                            soluonghienthi++;
                        }
                    }
                }
                // phiếu điều chuyển kho nội bộ
                foreach (Entities.PhieuDieuChuyenKhoNoiBo item in phieudieuchuyenkhonoibo)
                {
                    machungtu = item.MaPhieuDieuChuyenKho;
                    ngaylap   = item.NgayDieuChuyen;
                    ghichu    = item.GhiChu;
                    tongtien  = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuDieuChuyenKho item1 in chitietphieudieuchuyenkho)
                        {
                            if (item.MaPhieuDieuChuyenKho == item1.MaPhieuDieuChuyenKho)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {
                                                mahanghoa               = item2.MaHangHoa;
                                                tenhanghoa              = item2.TenHangHoa;
                                                manhomhang              = item3.MaNhomHang;
                                                tennhomhang             = item3.TenNhomHang;
                                                soluong                 = item1.SoLuong.ToString();
                                                dongia                  = item2.GiaNhap;
                                                thanhtien               = double.Parse(soluong) * double.Parse(dongia);
                                                tongtien               += thanhtien;
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Phiếu Điều Chuyển Kho Nội Bộ", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Điều Chuyển Kho Nội Bộ", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // phiếu thu
                foreach (Entities.PhieuThu item in phieuthu)
                {
                    machungtu = item.MaPhieuThu;
                    ngaylap   = item.NgayLap;
                    ghichu    = item.GhiChu;
                    tongtien  = double.Parse(item.TongTienThanhToan);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        if (item.LoaiPhieu == "Thu")
                        {
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thu", ngaylap, ghichu, tongtien);
                        }
                        else
                        {
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Chi", ngaylap, ghichu, tongtien);
                        }
                        soluonghienthi++;
                    }
                }
                // phiếu thanh toán của khách hàng
                foreach (Entities.PhieuTTCuaKH item in phieuttcuakh)
                {
                    machungtu = item.MaPhieuTTCuaKH;
                    ngaylap   = item.NgayLap;
                    ghichu    = item.GhiChu;
                    tongtien  = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuTTCuaKH item1 in chitietphieuttcuakh)
                        {
                            if (item.MaPhieuTTCuaKH == item1.MaPhieuTTCuaKH)
                            {
                                tongtien += double.Parse(item1.ThanhToan.ToString());
                            }
                        }

                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thanh Toán Của Khách Hàng", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // phiếu thanh toán của nhà cung cấp
                foreach (Entities.PhieuTTNCC item in phieuttncc)
                {
                    machungtu = item.MaPhieuTTNCC;
                    ngaylap   = item.NgayLap;
                    ghichu    = item.GhiChu;
                    tongtien  = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuTTNCC item1 in chitietphieuttncc)
                        {
                            if (item.MaPhieuTTNCC == item1.MaPhieuTTNCC)
                            {
                                tongtien += double.Parse(item1.ThanhToan.ToString());
                            }
                        }

                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thanh Toán Nhà Cung Cấp", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                if (soluongchitiet != 0)
                {
                    soluongchitiet = 0;
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[chitiet.Length];
                    foreach (Entities.TimKiemChungTu item in chitiet)
                    {
                        if (item != null)
                        {
                            temp[soluongchitiet] = item;
                            soluongchitiet++;
                        }
                    }
                    chitiet        = new Entities.TimKiemChungTu[soluongchitiet];
                    soluongchitiet = 0;
                    foreach (Entities.TimKiemChungTu item in temp)
                    {
                        if (soluongchitiet < chitiet.Length)
                        {
                            chitiet[soluongchitiet] = item;
                            soluongchitiet++;
                        }
                    }
                }
                else
                {
                    chitiet = new Entities.TimKiemChungTu[0];
                }
                if (soluonghienthi != 0)
                {
                    soluonghienthi = 0;
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[hienthi.Length];
                    foreach (Entities.TimKiemChungTu item in hienthi)
                    {
                        if (item != null)
                        {
                            temp[soluonghienthi] = item;
                            soluonghienthi++;
                        }
                    }
                    hienthi        = new Entities.TimKiemChungTu[soluonghienthi];
                    soluonghienthi = 0;
                    foreach (Entities.TimKiemChungTu item in temp)
                    {
                        if (soluonghienthi < hienthi.Length)
                        {
                            hienthi[soluonghienthi] = item;
                            soluonghienthi++;
                        }
                    }
                }
                else
                {
                    hienthi = new Entities.TimKiemChungTu[0];
                }
                dtgvHienThi.DataSource = hienthi;

                fixHienThi();
            }
            catch
            {
            }
        }
        public void TimKiemTheoDieuKien(string maChungTu, string nhomHang, string matHang, string tenChungTu, string ghiChu)
        {
            try
            {
                int kiemtra = 0;
                int soluong = 0;
                Entities.TimKiemChungTu[] temp1 = new Entities.TimKiemChungTu[hienthi.Length];
                soluong = 0;
                for (int i = 0; i < hienthi.Length; i++)
                {
                    if (hienthi[i].TenChungTu != null)
                    {
                        kiemtra = hienthi[i].TenChungTu.ToUpper().IndexOf(tenChungTu.ToUpper());
                        if (kiemtra >= 0)
                        {
                            kiemtra = hienthi[i].MaChungTu.ToUpper().IndexOf(maChungTu.ToUpper());
                            if (kiemtra >= 0)
                            {
                                kiemtra = hienthi[i].GhiChu.ToUpper().IndexOf(ghiChu.ToUpper());
                                if (kiemtra >= 0)
                                {
                                    temp1[soluong] = hienthi[i];
                                    soluong++;
                                }
                            }
                        }
                    }
                }
                Entities.TimKiemChungTu[] hienthitheoma = new Entities.TimKiemChungTu[soluong];
                for (int i = 0; i < soluong; i++)
                {
                    hienthitheoma[i] = temp1[i];
                }
                bool kt = false;
                int sl = 0;
                if (txtmathang.Text != "" || txtnhomhang.Text != "")
                {
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[hienthitheoma.Length];
                    for (int i = 0; i < hienthitheoma.Length; i++)
                    {
                        for (int j = 0; j < chitiet.Length; j++)
                        {
                            if (hienthitheoma[i].MaChungTu == chitiet[j].MaChungTu)
                            {
                                if (txtnhomhang.Text != "" && txtmathang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenNhomHang.ToUpper().IndexOf(nhomHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kiemtra = chitiet[j].TenHang.ToUpper().IndexOf(matHang.ToUpper());
                                        if (kiemtra >= 0)
                                        {
                                            kt = true;
                                            break;
                                        }
                                    }
                                }
                                else if (txtmathang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenHang.ToUpper().IndexOf(matHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kt = true;
                                        break;
                                    }
                                }
                                else if (txtnhomhang.Text != "")
                                {
                                    kiemtra = chitiet[j].TenNhomHang.ToUpper().IndexOf(nhomHang.ToUpper());
                                    if (kiemtra >= 0)
                                    {
                                        kt = true;
                                        break;
                                    }
                                }

                            }
                        }
                        if (kt == true)
                        {
                            temp[sl] = hienthitheoma[i];
                            sl++;
                            kt = false;
                        }
                    }
                    hienthitheoma = new Entities.TimKiemChungTu[sl];

                    for (int i = 0; i < sl; i++)
                    {
                        hienthitheoma[i] = temp[i];
                    }
                }
                baocao = hienthitheoma;
                dtgvHienThi.DataSource = hienthitheoma;
                dtgvChiTiet.DataSource = new Entities.TimKiemChungTu[0];
                if (hienthitheoma.Length > 0)
                {
                    tsslexcel.Enabled = tsslPdf.Enabled = tsslWord.Enabled = tsslchitiet.Enabled = true;
                }
                else
                {
                    tsslexcel.Enabled = tsslPdf.Enabled = tsslWord.Enabled = tsslchitiet.Enabled = false;
                }
            }
            catch
            {
            }
            finally
            {
                fixHienThi();
            }
        }
        public void HienThi()
        {
            try
            {
                hienthi = new Entities.TimKiemChungTu[phieuxuathuy.Length + hdbanhang.Length + hoadonnhap.Length + tralaincc.Length +
                    khachhangtralai.Length + phieudieuchuyenkhonoibo.Length + phieuthu.Length + phieuttcuakh.Length + phieuttncc.Length];
                chitiet = new Entities.TimKiemChungTu[chitietxuathuy.Length + chitiethdbanhang.Length + chitiethoadonnhap.Length +
                    chitiettralaincc.Length + chitietkhachhangtralai.Length + chitietphieudieuchuyenkho.Length];
                int soluongchitiet = 0;
                int soluonghienthi = 0;
                string machungtu, mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu;
                DateTime ngaylap;
                double thanhtien, tongtien;
                bool kt = false;
                // phiếu xuất hủy
                foreach (Entities.PhieuXuatHuy item in phieuxuathuy)
                {
                    machungtu = item.MaPhieuXuatHuy;
                    ngaylap = item.NgayLap;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.Tongtien);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietXuatHuy item1 in chitietxuathuy)
                        {
                            if (item.MaPhieuXuatHuy == item1.MaPhieuXuatHuy)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                dongia = item2.GiaNhap;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Phiếu Xuất Hủy", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Xuất Hủy", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // hóa đơn bán hàng
                foreach (Entities.HDBanHang item in hdbanhang)
                {
                    machungtu = item.MaHDBanHang;
                    ngaylap = item.NgayBan;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.TongTienThanhToan);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietHDBanHang item1 in chitiethdbanhang)
                        {
                            if (item.MaHDBanHang == item1.MaHDBanHang)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                if (item.LoaiHoaDon == false)
                                                    dongia = item2.GiaBanBuon;
                                                else
                                                    dongia = item2.GiaBanLe;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Hóa Đơn Bán Hàng", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Hóa Đơn Bán Hàng", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // hóa đơn nhập
                foreach (Entities.HoaDonNhap item in hoadonnhap)
                {
                    machungtu = item.MaHoaDonNhap;
                    ngaylap = item.NgayNhap;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.TongTien);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietHoaDonNhap item1 in chitiethoadonnhap)
                        {
                            if (item.MaHoaDonNhap == item1.MaHoaDonNhap)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                dongia = item2.GiaNhap;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Nhập Kho", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Nhập Kho", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // trả lại nhà cung cấp
                foreach (Entities.TraLaiNCC item in tralaincc)
                {
                    machungtu = item.MaHDTraLaiNCC;
                    ngaylap = item.Ngaytra;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.TienBoiThuong);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietTraLaiNhaCungCap item1 in chitiettralaincc)
                        {
                            if (item.MaHDTraLaiNCC == item1.MaHDTraLaiNCC)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                dongia = item2.GiaNhap;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Trả Lại Nhà Cung Cấp", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Trả Lại Nhà Cung Cấp", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // khách hàng trả lại
                foreach (Entities.KhachHangTraLai item in khachhangtralai)
                {
                    machungtu = item.MaKhachHangTraLai;
                    ngaylap = item.NgayNhap;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.TienBoiThuong);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietKhachHangTraLai item1 in chitietkhachhangtralai)
                        {
                            if (item.MaKhachHangTraLai == item1.MaKhachHangTraLai)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                dongia = item2.GiaBanBuon;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Khách Hàng Trả Lại", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        if (kt == true)
                        {
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Khách Hàng Trả Lại", ngaylap, ghichu, tongtien);
                            soluonghienthi++;
                        }
                    }
                }
                // phiếu điều chuyển kho nội bộ
                foreach (Entities.PhieuDieuChuyenKhoNoiBo item in phieudieuchuyenkhonoibo)
                {
                    machungtu = item.MaPhieuDieuChuyenKho;
                    ngaylap = item.NgayDieuChuyen;
                    ghichu = item.GhiChu;
                    tongtien = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuDieuChuyenKho item1 in chitietphieudieuchuyenkho)
                        {
                            if (item.MaPhieuDieuChuyenKho == item1.MaPhieuDieuChuyenKho)
                            {
                                foreach (Entities.HangHoa item2 in hanghoa)
                                {
                                    if (item1.MaHangHoa == item2.MaHangHoa)
                                    {
                                        foreach (Entities.NhomHang item3 in nhomhang)
                                        {
                                            if (item2.MaNhomHangHoa == item3.MaNhomHang)
                                            {

                                                mahanghoa = item2.MaHangHoa;
                                                tenhanghoa = item2.TenHangHoa;
                                                manhomhang = item3.MaNhomHang;
                                                tennhomhang = item3.TenNhomHang;
                                                soluong = item1.SoLuong.ToString();
                                                dongia = item2.GiaNhap;
                                                thanhtien = double.Parse(soluong) * double.Parse(dongia);
                                                tongtien += thanhtien;
                                                chitiet[soluongchitiet] = new Entities.TimKiemChungTu(machungtu, "Phiếu Điều Chuyển Kho Nội Bộ", mahanghoa, tenhanghoa, manhomhang, tennhomhang, soluong, dongia, ghichu, thanhtien);
                                                soluongchitiet++;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Điều Chuyển Kho Nội Bộ", ngaylap, ghichu, tongtien);
                            soluonghienthi++;
                    }
                }
                // phiếu thu
                foreach (Entities.PhieuThu item in phieuthu)
                {
                    machungtu = item.MaPhieuThu;
                    ngaylap = item.NgayLap;
                    ghichu = item.GhiChu;
                    tongtien = double.Parse(item.TongTienThanhToan);
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        if (item.LoaiPhieu == "Thu")
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thu", ngaylap, ghichu, tongtien);
                        else
                            hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Chi", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // phiếu thanh toán của khách hàng
                foreach (Entities.PhieuTTCuaKH item in phieuttcuakh)
                {
                    machungtu = item.MaPhieuTTCuaKH;
                    ngaylap = item.NgayLap;
                    ghichu = item.GhiChu;
                    tongtien = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuTTCuaKH item1 in chitietphieuttcuakh)
                        {
                            if (item.MaPhieuTTCuaKH == item1.MaPhieuTTCuaKH)
                                tongtien += double.Parse(item1.ThanhToan.ToString());
                        }

                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thanh Toán Của Khách Hàng", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                // phiếu thanh toán của nhà cung cấp
                foreach (Entities.PhieuTTNCC item in phieuttncc)
                {
                    machungtu = item.MaPhieuTTNCC;
                    ngaylap = item.NgayLap;
                    ghichu = item.GhiChu;
                    tongtien = 0;
                    if (ngaylap.Date >= truoc.Date && ngaylap.Date <= sau.Date)
                    {
                        foreach (Entities.ChiTietPhieuTTNCC item1 in chitietphieuttncc)
                        {
                            if (item.MaPhieuTTNCC == item1.MaPhieuTTNCC)
                                tongtien += double.Parse(item1.ThanhToan.ToString());
                        }

                        hienthi[soluonghienthi] = new Entities.TimKiemChungTu(machungtu, "Phiếu Thanh Toán Nhà Cung Cấp", ngaylap, ghichu, tongtien);
                        soluonghienthi++;
                    }
                }
                if (soluongchitiet != 0)
                {
                    soluongchitiet = 0;
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[chitiet.Length];
                    foreach (Entities.TimKiemChungTu item in chitiet)
                    {
                        if (item != null)
                        {
                            temp[soluongchitiet] = item;
                            soluongchitiet++;
                        }
                    }
                    chitiet = new Entities.TimKiemChungTu[soluongchitiet];
                    soluongchitiet = 0;
                    foreach (Entities.TimKiemChungTu item in temp)
                    {
                        if (soluongchitiet < chitiet.Length)
                        {
                            chitiet[soluongchitiet] = item;
                            soluongchitiet++;
                        }
                    }
                }
                else
                    chitiet = new Entities.TimKiemChungTu[0];
                if (soluonghienthi != 0)
                {
                    soluonghienthi = 0;
                    Entities.TimKiemChungTu[] temp = new Entities.TimKiemChungTu[hienthi.Length];
                    foreach (Entities.TimKiemChungTu item in hienthi)
                    {
                        if (item != null)
                        {
                            temp[soluonghienthi] = item;
                            soluonghienthi++;
                        }
                    }
                    hienthi = new Entities.TimKiemChungTu[soluonghienthi];
                    soluonghienthi = 0;
                    foreach (Entities.TimKiemChungTu item in temp)
                    {
                        if (soluonghienthi < hienthi.Length)
                        {
                            hienthi[soluonghienthi] = item;
                            soluonghienthi++;
                        }
                    }
                }
                else
                    hienthi = new Entities.TimKiemChungTu[0];
                dtgvHienThi.DataSource = hienthi;

                fixHienThi();
            }
            catch
            {
            }
        }