/// <summary>
        /// Báo cáo giải quyết thông tin khách hàng phản ánh
        /// </summary>
        ///  <modified>
        /// name        date        comments
        /// hangtm      21/5/2011   created
        /// </modified>
        public List <ThongTinPhanAnh> JoinByDate(DateTime startDate, DateTime endDate)
        {
            List <ThongTinPhanAnh> lstThongTinPhanAnh = new List <ThongTinPhanAnh>();

            try
            {
                DataTable dt = new DataTable();
                dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().JoinByDate(startDate, endDate);
                if (dt != null)
                {
                    if (dt.Rows.Count <= 0)
                    {
                        return(null);
                    }
                    else
                    {
                        foreach (DataRow row in dt.Rows)
                        {
                            lstThongTinPhanAnh.Add(GetThongTinPhanAnh(row));
                        }
                    }
                }
                return(lstThongTinPhanAnh);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// lấy thông tin cuộc gọi phản ánh gọi lại gọi khác.
        /// </summary>
        /// <param name="tuNgay"></param>
        /// <param name="denNgay"></param>
        /// <returns></returns>
        public List <ThongTinPhanAnh> GetThongTinPhanAnhGoiLaiGoiKhac(DateTime tuNgay, DateTime denNgay)
        {
            List <ThongTinPhanAnh> lstThongTinPhanAnh = new List <ThongTinPhanAnh>();

            try
            {
                DataTable dt = new DataTable();
                dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetThongTinPhanAnhGoiLaiGoiKhac(tuNgay, denNgay);
                if (dt != null)
                {
                    if (dt.Rows.Count <= 0)
                    {
                        return(null);
                    }
                    else
                    {
                        foreach (DataRow row in dt.Rows)
                        {
                            lstThongTinPhanAnh.Add(GetThongTinPhanAnh(row));
                        }
                    }
                }
                return(lstThongTinPhanAnh);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Join 3 bang T_DMCongty, T_KHACHHANGPHANANH_LOAIPHANANH, T_KHACHHANGPHANANH
        /// theo dieu kien nhung cuoc goi chua giai quyet
        /// </summary>
        /// <returns></returns>
        /// <modified>
        /// name        date        comments
        /// hangtm      19/5/2011   created
        /// </modified>
        public List <ThongTinPhanAnh> JoinThongTinPhanAnh(bool trangThai)
        {
            List <ThongTinPhanAnh> lstThongTinPhanAnh = new List <ThongTinPhanAnh>();

            try {
                DataTable dt = new DataTable();
                dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetThongTinPhanAnh(trangThai);
                if (dt != null)
                {
                    if (dt.Rows.Count <= 0)
                    {
                        return(null);
                    }
                    else
                    {
                        foreach (DataRow row in dt.Rows)
                        {
                            lstThongTinPhanAnh.Add(GetThongTinPhanAnh(row));
                        }
                    }
                }
                return(lstThongTinPhanAnh);
            }
            catch
            {
                return(null);
            }
        }
        public List <int> GetDonViXuLy(int idPhanAnh)
        {
            List <int> lstCongTyID = new List <int>();
            DataTable  dt          = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetCongTyByPhanAnhID(idPhanAnh);

            foreach (DataRow row in dt.Rows)
            {
                lstCongTyID.Add(Convert.ToInt32(row["ID_CongTy"]));
            }
            return(lstCongTyID);
        }
        /// <summary>
        /// Hàm trả về thông tin ghi chú của một  phản ảnh
        /// </summary>
        public static string GetGhiChu(long ID)
        {
            string    ghichu = string.Empty;
            DataTable dt     = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetAllByID(ID);

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];
                ghichu = dr["GhiChu"] == DBNull.Value ? string.Empty : dr["GhiChu"].ToString();
            }
            return(ghichu);
        }
        /// <summary>
        /// tìm kiếm thông tin phản ánh
        /// </summary>
        /// <param name="soDienThoai"></param> tìm theo số điện thoại (bắt buộc)
        /// <param name="noiDung"></param> tìm theo nội dung phản ánh (tùy chọn)
        /// <param name="tuNgay"></param> tìm theo ngày (bắt buộc)
        /// <param name="denNgay"></param>-----------------------
        /// <param name="trangThai"></param> tìm theo trạng thái đã giải quyết xong chưa (phụ thuộc vào người dùng đang đứng ở tab nào)
        /// <param name="chuyenDV"></param> tìm theo trạng thái có chuyển đơn vị ko (phụ thuộc vào người dùng đang đứng ở tab nào)
        /// <returns></returns>
        /// <modified>
        /// name            date        comments
        /// hangtm         19/7/2011    created
        ///</modified>
        public List <ThongTinPhanAnh> SearchPhanAnh(string soDienThoai, string noiDung, DateTime tuNgay, DateTime denNgay, bool trangThai, bool chuyenDV)
        {
            List <ThongTinPhanAnh> lstPhanAnh = new List <ThongTinPhanAnh>();
            DataTable dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().SearchPhanAnh(soDienThoai, noiDung, tuNgay, denNgay, trangThai, chuyenDV);

            if (dt != null)
            {
                if (dt.Rows.Count <= 0)
                {
                    return(null);
                }
                else
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        lstPhanAnh.Add(GetThongTinPhanAnh(row));
                    }
                }
            }
            return(lstPhanAnh);
        }
        /// <summary>
        /// Lấy ra danh sách cuộc gọi phản ánh chuyển đơn vị
        /// </summary>
        public List <ThongTinPhanAnh> GetPhanAnhChuyenDonVi()
        {
            List <ThongTinPhanAnh> lstPAChuyenDV = new List <ThongTinPhanAnh>();
            DataTable dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetPhanAnhChuyenDonVi();

            if (dt != null)
            {
                if (dt.Rows.Count <= 0)
                {
                    return(null);
                }
                else
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        lstPAChuyenDV.Add(GetThongTinPhanAnh(row));
                    }
                }
            }
            return(lstPAChuyenDV);
        }
        /// <summary>
        /// Hàm trả về thông tin phản ánh theo giá trị lọc
        /// </summary>
        public List <ThongTinPhanAnh> GetThongTinKhachHangPhanAnh(DateTime tuNgay, DateTime denNgay, string dienThoai, string tenKhachHang, string pMaThongTin, int loaiPhanAnhID, int congTyID)
        {
            List <ThongTinPhanAnh> lstPhanAnh = new List <ThongTinPhanAnh>();

            DataTable dt = new Data.ThongTinPhanAnh.ThongTinPhanAnh().GetThongTinKhachHangPhanAnh(tuNgay, denNgay, dienThoai, tenKhachHang, pMaThongTin, loaiPhanAnhID, congTyID);

            if (dt != null)
            {
                if (dt.Rows.Count <= 0)
                {
                    return(null);
                }
                else
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        lstPhanAnh.Add(GetThongTinPhanAnh(row));
                    }
                }
            }
            return(lstPhanAnh);
        }