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;
 }
Example #2
0
        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;
        }