public override QueryBuilder PLBuildQueryFilter() { DataTable KQ = DAResume.ThongKe(textEdit1.Text.Trim().ToUpper(), Filter_Ten.Text, Filter_Email.Text, this.getGioiTinh(), (int)Filter_NamSinhTu.Value, (int)Filter_NamSinhDen.Value, (int)Filter_DotPhongVan._getSelectedID(), Filter_TinhTrangHoSo._getSelectedID(), this.getViTriUngTuyen(), this.PLLoaiHoSo._getSelectedID().ToString() ); if (KQ != null) { #region Delete duplicate row int[] index = new int[KQ.Rows.Count]; for(int i=0;i<KQ.Rows.Count-1;i++) { for (int j=i+1; j < KQ.Rows.Count; j++) { if (KQ.Rows[i]["ID"].ToString() == KQ.Rows[j]["ID"].ToString()) { index[j] = KQ.Rows.IndexOf(KQ.Rows[j]); } } } foreach (int del_index in index) { if (index[del_index] > 0) KQ.Rows.RemoveAt(index[del_index]); } #endregion gridControlMaster.DataSource = KQ; } pager = new PagerGrid(gridControlMaster,this.gridViewMaster, 5); pg = new ProtocolVN.Framework.Win.PagerInfo(); this.splitContainerControl1.SplitterPosition = 200; Cot_Ten.SortOrder = DevExpress.Data.ColumnSortOrder.Ascending; return null; }
public override QueryBuilder PLBuildQueryFilter() { #region dathq QueryBuilder filter = new QueryBuilder( @"SELECT ID,'' VT_TUYEN_DUNG,RE.MA_HO_SO ,RE.HO_TEN,RE.NGAY_SINH,CASE RE.GIOI_TINH WHEN 'Y' THEN 'Nam' ELSE 'Nữ' END GIOI_TINH ,RE.LUONG_MONG_DOI,RE.EMAIL,RE.DIA_CHI,RE.DIEN_THOAI,RE.NGAY_CAP_NHAT_HO_SO,RE.IS_EMPLOYEE ,RE.TRINH_DO_CHUYEN_MON,RE.TRINH_DO_NGOAI_NGU,RE.THONG_TIN_KHAC,RE.QUA_TRINH_CONG_TAC,RE.QUA_TRINH_DAO_TAO ,(SELECT NAME FROM DM_TINH_TRANG_HO_SO WHERE ID= RE.TTHS_ID) TINH_TRANG_HO_SO , CASE RE.LOAI_HO_SO WHEN 0 THEN 'Ứng viên' WHEN 1 THEN 'Nhân viên' WHEN 2 THEN 'Cộng tác viên' WHEN 3 THEN 'Thực tập' ELSE 'Bán thời gian' END LOAI_HO_SO FROM RESUME RE WHERE 1=1"); filter.addSoPhieu("RE.MA_HO_SO", textEdit1.Text.Trim().ToUpper()); filter.addLike("RE.HO_TEN", Filter_Ten.Text); filter.addLike("RE.EMAIL", Filter_Email.Text); filter.addID("RE.TTHS_ID", Filter_TinhTrangHoSo._getSelectedID()); filter.addID("RE.LOAI_HO_SO", PLLoaiHoSo._getSelectedID()); filter.addCondition(" EXTRACT(YEAR FROM RE.NGAY_SINH) BETWEEN " + Filter_NamSinhTu.Value + " AND " + Filter_NamSinhDen.Value); ; if (Filter_GTNam.Checked && Filter_GTNu.Checked) filter.addCondition("GIOI_TINH IN ('Y','N')"); else { if (Filter_GTNam.Checked) filter.addCondition("GIOI_TINH ='Y'"); else if (Filter_GTNu.Checked) filter.addCondition("GIOI_TINH ='N'"); } filter.addCondition(" 1=1 "); FrameworkParams.wait = new WaitingMsg(); DataTable Resume = DABase.getDatabase().LoadDataSet(filter).Tables[0]; if (Resume != null) { DataTable Resume_Ung_Tuyen = DABase.getDatabase().LoadDataSet( @"SELECT REUT.R_ID,REUT.VTUT_ID,NAME FROM RESUME_UNG_TUYEN REUT INNER JOIN DM_VI_TRI_UNG_TUYEN VT ON REUT.VTUT_ID=VT.ID").Tables[0]; StringBuilder Str = new StringBuilder(""); for (int i = 0; i < Filter_VTUngTuyen.ItemCount; i++) { if (Filter_VTUngTuyen.GetItemCheckState(i) == CheckState.Checked) Str.Append(Filter_VTUngTuyen.GetItemValue(i) + ","); Application.DoEvents(); } if (Str.Length > 0) Str.Remove(Str.Length - 1, 1); for (int i = Resume.Rows.Count - 1; i >= 0; i--) { StringBuilder Str_cond = new StringBuilder("R_ID = " + HelpNumber.ParseInt64(Resume.Rows[i]["ID"])); if (Str.Length > 0) Str_cond.Append(" and VTUT_ID in (" + Str + ")"); DataRow[] Arr_row = Resume_Ung_Tuyen.Select(Str_cond.ToString()); if (Arr_row.Length > 0) { StringBuilder Str_Name = new StringBuilder(""); foreach (DataRow row_InArr in Arr_row) { Str_Name.Append(row_InArr["NAME"] + ","); } if (Str_Name.Length > 0) Str_Name.Remove(Str_Name.Length - 1, 1); Resume.Rows[i]["VT_TUYEN_DUNG"] = Str_Name.ToString(); } else Resume.Rows.RemoveAt(i); Application.DoEvents(); } gridControlMaster.DataSource = Resume; pager = new PagerGrid(gridControlMaster, this.gridViewMaster, 5); //New update for get detail of Ung Vien pager.DetailOfFirtsRows += new PagerGrid.GetDetail(PLLoadDataDetailPart); //------------------------ pg = new ProtocolVN.Framework.Win.PagerInfo(); this.splitContainerControl1.SplitterPosition = 200; Cot_Ten.SortOrder = DevExpress.Data.ColumnSortOrder.Ascending; if (FrameworkParams.wait != null) FrameworkParams.wait.Finish(); } #endregion return null; }