Exemple #1
0
        public async Task <ActionResult <UngVien> > PostUngVien(UngVien ungVien)
        {
            _context.UngVien.Add(ungVien);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUngVien", new { id = ungVien.IdungVien }, ungVien));
        }
Exemple #2
0
        public async Task <IActionResult> PutUngVien(int id, UngVien ungVien)
        {
            if (id != ungVien.IdungVien)
            {
                return(BadRequest());
            }

            _context.Entry(ungVien).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UngVienExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #3
0
 public JsonResult Apply(ApplyPostModel data)
 {
     using (DataContext db = new DataContext())
     {
         var error = false;
         try
         {
             var filename = Path.GetFileName(data.CV.FileName);
             var path     = Path.Combine(Server.MapPath("../CV/"), filename);
             data.CV.SaveAs(path);
             UngVien u = new UngVien();
             u.TenUngVien = data.TenUngVien;
             u.DiaChi     = data.DiaChi;
             u.Email      = data.Email;
             u.SDT        = data.SDT;
             u.CV         = filename;
             u.DaPhongVan = false;
             u.CongViecID = data.CongViecID;
             db.UngViens.Add(u);
             db.SaveChanges();
             error = true;
         }
         catch
         {
             error = false;
         }
         return(Json(new { Error = error }));
     }
 }
Exemple #4
0
        private List <UngVien> XuLyCV(XBrowser browser, JobLink job)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                UngVien ung_vien = new UngVien();
                ung_vien.ngay_tao = ung_vien.ngay_sua = XUtil.TimeInEpoch(DateTime.Now);
                ung_vien.app_id   = job.app_id;
                ung_vien.job_link = job.link;
                ung_vien.vi_tri   = job.ten_job;

                ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                ttuv.domain = "https://careerbuilder.vn/";
                //ttuv.full_text = block_ung_vien.FindElement(By.XPath("//div[@class='Card__root ApplicationCard__root']")).;
                ung_vien.thong_tin_chung = ttuv;
                ung_vien.ho_ten          = browser.GetInnerText(".//div[@class='act_more']/a/b", 200);
                ung_vien.link_cv_online  = "";
                ung_vien.ky_nang         = "";
                ung_vien.hoc_van         = browser.GetInnerText(".//ul[@class='block_info bullet block01']/li[2]/div");

                //div[@class='info-list']/ul/li[1]
                ung_vien.ngay_sinh     = 0;
                ung_vien.so_dien_thoai = browser.GetInnerText(".//ul[@class='block_info block02']/li[1]/div");
                ung_vien.email         = browser.GetInnerText(".//ul[@class='block_info block02']/li[2]/div");
                ung_vien.dia_chi       = browser.GetInnerText(".//ul[@class='block_info block02']/li[3]/div");

                Uri uri = new Uri(job.link);
                ung_vien.domain = uri.Host;
                var id = string.Join("/", job.link.Split('/').Skip(5));
                //id = id.Substring(0, id.LastIndexOf('/'));
                ung_vien.custom_id = id;
                //Tai file
                var ifr = browser.FindFirst("//div[@id='tabs-chitiethoso']//iframe");
                if (ifr != null)
                {
                    ung_vien.link_cv_offline = browser.DownloadByBrowserInIFrame("//div[@id='tabs-chitiethoso']//iframe", "//button[@id='download']");
                    if (!string.IsNullOrEmpty(ung_vien.link_cv_offline))
                    {
                        ung_vien.cv_byte = File.ReadAllBytes($"{cv_save_path}\\{ung_vien.link_cv_offline}");
                    }
                }
                ung_vien.full_text = browser.GetPageSource();
                ung_vien.nguoi_tao = job.nguoi_tao;
                lst_ung_vien.Add(ung_vien);
                var count = lst_ung_vien.Count;
                System.Threading.Thread.Sleep(2000);
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XUtil.TimeInEpoch();

            return(lst_ung_vien);
        }
Exemple #5
0
        public bool Update(UngVien data)
        {
            string id = $"{data.id_ung_vien}";

            data.id_ung_vien = string.Empty;
            data.ngay_sua    = XMedia.XUtil.TimeInEpoch(DateTime.Now);
            data.ngay_tao    = -Int32.MaxValue;
            return(Update(_default_index, data, id));
        }
        public UngVienNhaTuyenDung(UngVien item)
        {
            this.ho_ten_ung_vien  = item.ho_ten_ung_vien;
            this.dia_chi          = item.dia_chi;
            this.vi_tri_ung_tuyen = item.vi_tri_ung_tuyen;
            this.noi_dung         = item.noi_dung;

            this.luong_mong_muon = item.luong_mong_muon;

            this.link_cv     = item.link_cv;
            this.id_ung_vien = item.id_ung_vien;
        }
Exemple #7
0
        private UngVien ConvertDoc(IHit <UngVien> hit)
        {
            UngVien u = new UngVien();

            try
            {
                u             = hit.Source;
                u.id_ung_vien = hit.Id;
            }
            catch
            {
            }
            return(u);
        }
Exemple #8
0
        public async Task <ServiceResult> CreateUngVien(UngVien ungVien)
        {
            if (_ungVienRepository.TableUntracked.Any(x => x.Email == ungVien.Email))
            {
                return(ServiceResult.Failed("Email đã được sử dụng"));
            }
            if (_ungVienRepository.TableUntracked.Any(x => x.Account == ungVien.Account))
            {
                return(ServiceResult.Failed("Account đã được sử dụng"));
            }
            await _ungVienRepository.AddAsync(ungVien);

            return(ServiceResult.Success);
        }
Exemple #9
0
        public bool Index(UngVien data)
        {
            int  retry = 0; int max_retry = 5;
            bool need_retry = true;

            while (retry++ < max_retry && need_retry)
            {
                need_retry = !Index(_default_index, data, "");
                if (need_retry)
                {
                    Task.Delay(1000).Wait();
                }
            }
            return(!need_retry);
        }
        public NoteUngVienJobNhaTuyenDung(NoteUngVienJob item, UngVien ung_vien)
        {
            this.luong_mong_muon  = ung_vien.luong_mong_muon;
            this.dia_chi          = ung_vien.dia_chi;
            this.noi_dung         = ung_vien.noi_dung;
            this.vi_tri_ung_tuyen = ung_vien.vi_tri_ung_tuyen;
            this.ho_ten_ung_vien  = ung_vien.ho_ten_ung_vien;
            this.link_cv          = ung_vien.link_cv;

            this.id_ung_vien            = item.id_ung_vien;
            this.ngay_gio_phong_van     = item.ngay_gio_phong_van;
            this.ghi_chu_ung_vien       = item.ghi_chu_ung_vien;
            this.ghi_chu_nha_tuyen_dung = item.ghi_chu_nha_tuyen_dung;
            this.ghi_chu         = item.ghi_chu;
            id_note_ung_vien_job = item.id_note_ung_vien_job;
        }
        public ActionResult SupperAdminngongochai112(string EmailDN, string Matkhau)
        {
            UngVien sp = new UngVien();

            sp.EmailDN   = EmailDN;
            sp.Matkhau   = Matkhau;
            sp.vaitro    = 2;
            sp.Tinhtrang = 1;
            db.UngViens.Add(sp);
            db.SaveChanges();
            var spadmin = db.UngViens.Where(x => x.EmailDN == EmailDN).FirstOrDefault();

            Session["Admin"] = new UngVien()
            {
                MAUV = spadmin.MAUV, EmailDN = spadmin.EmailDN, Tinhtrang = sp.Tinhtrang, vaitro = sp.vaitro, Hovatendem = spadmin.Hovatendem, Ten = spadmin.Ten
            };
            return(Redirect("~/Admin"));
        }
Exemple #12
0
 //public IEnumerable<DanhGiaChungUngVienDTO> DanhGiaChungUngVien { get; set; }
 //public IEnumerable<KyNangUngVienDTO> KyNangUngVien { get; set; }
 //public IEnumerable<UngTuyenDTO> UngTuyen { get; set; }
 //public IEnumerable<UngVienLamBaiTestDTO> UngVienLamBaiTest { get; set; }
 public static UngVienDTO FromEntity(UngVien item)
 {
     return(new UngVienDTO()
     {
         Id = item.Id,
         TinhThanhId = item.TinhThanhId,
         TrangThaiId = item.TrangThaiId,
         QuanHuyenId = item.QuanHuyenId,
         XaPhuongId = item.XaPhuongId,
         TruongDaiHocId = item.TruongDaiHocId,
         HoTen = item.HoTen,
         NgaySinh = item.NgaySinh,
         Sdt = item.Sdt,
         Account = item.Account,
         Email = item.Email,
         Cmtnd = item.Cmtnd,
         DiaChi = item.DiaChi,
         LinkAnhCaNhan = item.LinkAnhCaNhan,
         LinkAnhMatTruoc = item.LinkAnhMatTruoc,
         LinkAnhMatSau = item.LinkAnhMatSau,
         BietQuaFaceBook = item.BietQuaFaceBook,
         BietQuaWeb = item.BietQuaWeb,
         BietQuaGioiThieu = item.BietQuaGioiThieu,
         TenNguoiGioiThieu = item.TenNguoiGioiThieu,
         LinkFaceBook = item.LinkFaceBook,
         LinkSkype = item.LinkSkype,
         LinkZalo = item.LinkZalo,
         DaDienDu = item.DaDienDu,
         TenKhoa = item.TenKhoa,
         NamThu = item.NamThu,
         TinhThanh = item.TinhThanh != null?TinhThanhDTO.FromEntity(item.TinhThanh) : null,
                         TruongDaiHoc = item.TruongDaiHoc != null?TruongDaiHocDTO.FromEntity(item.TruongDaiHoc) : null,
                                            QuanHuyen = item.QuanHuyen != null?QuanHuyenDTO.FromEntity(item.QuanHuyen) : null,
                                                            XaPhuong = item.XaPhuong != null?XaPhuongDTO.FromEntity(item.XaPhuong) : null,
                                                                           //ThanhVienDuAn = item.ThanhVienDuAn?.Select(ThanhVienDuAnDTO.FromEntity),
                                                                           //CVUngVien = item.CVUngVien?.Select(CVUngVienDTO.FromEntity),
                                                                           TrangThai = item.TrangThai != null?TrangThaiDTO.FromEntity(item.TrangThai) : null,
                                                                                           //DanhGiaChungUngVien = item.DanhGiaChungUngVien?.Select(DanhGiaChungUngVienDTO.FromEntity),
                                                                                           //KyNangUngVien = item.KyNangUngVien?.Select(KyNangUngVienDTO.FromEntity),
                                                                                           //UngTuyen = item.UngTuyen?.Select(UngTuyenDTO.FromEntity),
                                                                                           //UngVienLamBaiTest = item.UngVienLamBaiTest?.Select(UngVienLamBaiTestDTO.FromEntity),
     });
 }
 public JsonResult State(int id)
 {
     using (DataContext db = new DataContext())
     {
         var error = false;
         try
         {
             UngVien uv = db.UngViens.Find(id);
             uv.DaPhongVan = true;
             db.SaveChanges();
             error = true;
         }
         catch
         {
             error = false;
         }
         return(Json(new { Error = error }));
     }
 }
 public JsonResult Delete(int id)
 {
     using (DataContext db = new DataContext())
     {
         var error = false;
         try
         {
             UngVien uv = db.UngViens.Find(id);
             db.UngViens.Remove(uv);
             db.SaveChanges();
             error = true;
         }
         catch
         {
             error = false;
         }
         return(Json(new { Error = error }));
     }
 }
        public IActionResult GetAllUVByUser(string id_user_job)
        {
            List <string>  kq         = new List <string>();
            List <UngVien> data       = new List <UngVien>();
            long           total_recs = 0;
            string         msg        = "";
            UngVien        uv         = new UngVien();

            kq = QLCUNL.BL.NoteUngVienJobBL.GetListIdUngVienByIdUserJob(app_id, id_user_job, 1, out total_recs, out msg, 9999, (is_sys_admin || is_app_admin)).ToList();
            foreach (var item in kq)
            {
                uv = QLCUNL.BL.UngVienBL.GetById(item);
                data.Add(uv);
            }
            return(Ok(new DataResponsePaging()
            {
                data = data, total = total_recs, success = data != null, msg = msg
            }));
        }
        public ActionResult InforAdmin(UngVien model)
        {
            var dataem = db.UngViens.Where(x => x.MAUV == model.MAUV && x.vaitro == 2).FirstOrDefault();

            if (dataem != null)
            {
                dataem.Ngaysinh      = model.Ngaysinh;
                dataem.Ten           = model.Ten;
                dataem.Hovatendem    = model.Hovatendem;
                dataem.Chucdanh      = model.Chucdanh;
                dataem.Dienthoai1    = model.Dienthoai1;
                dataem.Diachihientai = model.Diachihientai;
                db.SaveChanges();
                return(Json(new { status = "SUCCESS" }));
            }
            else
            {
                return(Json(new { status = "ERROR" }));
            }
        }
Exemple #17
0
 public UngVienMap(UngVien item, IEnumerable <ThuocTinh> _thuoc_tinh)
 {
     this.ho_ten_ung_vien     = item.ho_ten_ung_vien;
     this.so_dien_thoai       = item.so_dien_thoai;
     this.dia_chi             = item.dia_chi;
     this.email               = item.email;
     this.vi_tri_ung_tuyen    = item.vi_tri_ung_tuyen;
     this.noi_dung            = item.noi_dung;
     this.ghi_chu_cuoi        = item.ghi_chu_cuoi;
     this.luong_mong_muon     = item.luong_mong_muon;
     this.ngay_di_lam         = item.ngay_di_lam;
     this.da_di_lam           = item.da_di_lam;
     this.zalo                = item.zalo;
     this.link_cv             = item.link_cv;
     this.ngay_tuong_tac_cuoi = item.ngay_tuong_tac_cuoi;
     thuoc_tinh               = _thuoc_tinh.Select(x => new { gia_tri = x.gia_tri, ten = x.ten, nhom = x.nhom, type = x.type });
     this.id_ung_vien         = item.id_ung_vien;
     ngay_sua  = item.ngay_sua;
     ngay_tao  = item.ngay_tao;
     nguoi_tao = item.nguoi_tao;
     nguoi_sua = item.nguoi_sua;
 }
        public async Task <ActionResult> ExternalLoginCallback(string returnUrl)
        {
            string callback = returnUrl;
            thuctaptotnghiepDbContext db = new thuctaptotnghiepDbContext();
            var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

            if (loginInfo == null)
            {
                return(RedirectToAction("Login"));
            }

            // Sign in the user with this external login provider if the user already has a login
            var user = db.UngViens.Where(x => x.EmailDN == loginInfo.Email).FirstOrDefault();

            //var user = await UserManager.FindAsync(loginInfo.Login);
            if (user == null)
            {
                UngVien uv = new UngVien();
                uv.Ten           = loginInfo.DefaultUserName;
                uv.EmailDN       = loginInfo.Email;
                uv.EmailLH       = loginInfo.Email;
                uv.Ngaydangky    = DateTime.Now;
                uv.Ngaycapnhat   = DateTime.Now;
                uv.Loaitaikhoan  = 2;
                uv.Tinhtrang     = 1;
                uv.vaitro        = 1;
                uv.Namkinhnghiem = 0;
                db.UngViens.Add(uv);
                db.SaveChanges();
                var user1 = db.UngViens.Where(x => x.EmailDN == uv.EmailDN).FirstOrDefault();
                //Directory.CreateDirectory(Server.MapPath("~/Profile_upload/" + user1.MAUV + ""));
                Session["Member"] = new Member()
                {
                    MAUV = user1.MAUV, Ten = uv.Ten, EmailDN = uv.EmailDN, Loaitaikhoan = uv.Loaitaikhoan
                };
                //return RedirectToAction("Profile", "Member");
                if (callback == null || callback == "")
                {
                    return(RedirectToAction("Profile", "Member"));
                }
                else
                {
                    return(Redirect(callback));
                }
            }
            else
            {
                if (user.Tinhtrang == 0)
                {
                    TempData["Error"] = "Tài khoản của bạn đang tạm khóa vui lòng liên hệ với chúng tôi";
                    return(Redirect(callback));
                }
                if (user.Tinhtrang == -1)
                {
                    TempData["Error"] = "Tài khoản của bạn hiện không đăng nhập được, vui lòng liên hệ với chúng tôi";
                    return(Redirect(callback));
                }
                if (user.vaitro == 1 && user.Tinhtrang == 1)
                {
                    Session["Member"] = new Member()
                    {
                        MAUV = user.MAUV, Hovatendem = user.Hovatendem, Ten = user.Ten, EmailDN = user.EmailDN, Loaitaikhoan = user.Loaitaikhoan,
                    };
                    // If the user does not have an account, then prompt the user to create an account
                    if (callback == null)
                    {
                        return(RedirectToAction("Profile", "Member"));
                    }
                    else
                    {
                        return(Redirect(callback));
                    }
                }
                else if (user.vaitro == 2 && user.Tinhtrang == 1)
                {
                    Session["Admin"] = new UngVien()
                    {
                        MAUV = user.MAUV, EmailDN = user.EmailDN, Hovatendem = user.Hovatendem, Ten = user.Ten, Loaitaikhoan = user.Loaitaikhoan, vaitro = user.vaitro
                    };
                    Session["SESSIONFILEPATH"] = "~/Content/Uploaded";
                    if (callback != null && callback != "")
                    {
                        return(Redirect(callback));
                    }
                    else
                    {
                        return(Redirect("~/Admin"));
                    }
                }
                else if (user.vaitro == 3)
                {
                    Session["Supper"] = new UngVien()
                    {
                        MAUV = user.MAUV, EmailDN = user.EmailDN, Hovatendem = user.Hovatendem, Ten = user.Ten, Loaitaikhoan = user.Loaitaikhoan, vaitro = user.vaitro
                    };
                    Session["SESSIONFILEPATH"] = "~/Content/Uploaded";
                    if (callback != null && callback != "")
                    {
                        return(Redirect(callback));
                    }
                    else
                    {
                        return(Redirect("~/Admin"));
                    }
                }
                return(Redirect("/"));
            }
        }
Exemple #19
0
        private List <UngVien> XuLyCV(XBrowser browser, JobLink job)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                var eles_ung_vien = browser.Find("//div[@class='table-responsive']/table//td[2]/a");
                if (eles_ung_vien.Count > 0)
                {
                    foreach (var item_ung_vien in eles_ung_vien)
                    {
                        try
                        {
                            browser.Click(item_ung_vien);
                            UngVien ung_vien = new UngVien();
                            ung_vien.vi_tri         = job.ten_job;
                            ung_vien.ngay_tao       = ung_vien.ngay_sua = XMedia.XUtil.TimeInEpoch();
                            ung_vien.app_id         = job.app_id;
                            ung_vien.job_link       = job.link;
                            ung_vien.ho_ten         = browser.GetInnerText("//div[@id='action-box']//tr[1]//td[1]", 2000);
                            ung_vien.link_cv_online = browser.GetAttribute("//a[@id='btn-download-candidate']", "href");
                            ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                            ttuv.domain              = "topcv.vn";
                            ttuv.full_text           = browser.GetInnerHtml("//div[@id='action-box']/table");
                            ung_vien.thong_tin_chung = ttuv;
                            //Bóc tách XPATH để lấy được thông tin này nếu có
                            ung_vien.kinh_nghiem = browser.GetInnerText("//div[@class='info']//div/div[1]/p[3]/strong");
                            ung_vien.ky_nang     = "";
                            ung_vien.hoc_van     = "";
                            ung_vien.ngay_sinh   = 0;
                            //Tai file

                            var cv_byte = browser.DownloadFile(ung_vien.link_cv_online, out string cv_file_name);
                            if (cv_byte != null)
                            {
                                ung_vien.cv_byte = cv_byte;
                                WriteFile($"{cv_save_path}\\{cv_file_name}", cv_byte);
                                ung_vien.link_cv_offline = cv_file_name;
                            }
                            ung_vien.full_text = browser.GetPageSource();
                            ung_vien.nguoi_tao = job.nguoi_tao;
                            lst_ung_vien.Add(ung_vien);
                            browser.FindAndClick("//div[@title='Đóng lại']");
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
                else
                {
                    job.thong_tin_xu_ly = Common.KHONG_TIM_THAY_UNG_VIEN;
                }
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XUtil.TimeInEpoch();
            return(lst_ung_vien);
        }
Exemple #20
0
 public static bool Update(UngVien data)
 {
     return(UngVienRepository.Instance.Update(data));
 }
Exemple #21
0
 public static string IndexRetId(UngVien data)
 {
     return(UngVienRepository.Instance.IndexRetId(data));
 }
Exemple #22
0
        public IActionResult Search(string term, string id_ung_vien, string thuoc_tinh, string thuoc_tinh_rieng, int page, int page_size = 10)
        {
            List <int>         lst_thuoc_tinh       = new List <int>();
            List <int>         lst_thuoc_tinh_rieng = new List <int>();
            List <string>      lst_id = new List <string>();
            bool               is_find_thuoc_tinh_rieng = false;
            List <NoteUngVien> data                 = new List <NoteUngVien>();
            long               total_recs           = 0;
            string             msg                  = ""; page = page < 1 ? 1 : page;
            List <Models.NoteUngVienUngVienMap> lst = new List <Models.NoteUngVienUngVienMap>();


            if (!string.IsNullOrEmpty(thuoc_tinh))
            {
                foreach (var tt in thuoc_tinh.Split(','))
                {
                    int t = -1;
                    if (Int32.TryParse(tt, out t))
                    {
                        lst_thuoc_tinh.Add(t);
                    }
                }
            }
            if (!string.IsNullOrEmpty(thuoc_tinh_rieng))
            {
                foreach (var tt in thuoc_tinh_rieng.Split(','))
                {
                    int t = -1;
                    if (Int32.TryParse(tt, out t))
                    {
                        lst_thuoc_tinh_rieng.Add(t);
                    }
                }
                if (lst_thuoc_tinh_rieng.Count > 0)
                {
                    is_find_thuoc_tinh_rieng = true;
                    var lst_id_obj = BL.ThuocTinhDuLieuBL.Search(app_id, user, LoaiThuocTinh.NOTE_UNG_VIEN, lst_thuoc_tinh_rieng, page, out long total_recs_thuoc_tinh, out _, 9999);
                    lst_id = lst_id_obj.Select(x => x.id_obj).ToList();
                }
            }
            if (is_find_thuoc_tinh_rieng && lst_id.Count == 0)
            {
            }
            else
            {
                data = QLCUNL.BL.NoteUngVienBL.Search(app_id, user, group, term, id_ung_vien, lst_thuoc_tinh, lst_id, page, out total_recs, out msg, page_size, (is_sys_admin || is_app_admin));
                var lst_id_ung_vien = data.Select(x => x.id_ung_vien);
                var data_ung_vien   = QLCUNL.BL.UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y);
                foreach (var item in data)
                {
                    Models.NoteUngVienUngVienMap note = new Models.NoteUngVienUngVienMap(item);
                    var ung_vien = new UngVien();
                    if (data_ung_vien.TryGetValue(note.id_ung_vien, out ung_vien))
                    {
                        note.ho_ten_ung_vien = ung_vien.ho_ten_ung_vien;
                        note.so_dien_thoai   = ung_vien.so_dien_thoai;
                        note.email           = ung_vien.email;
                        note.zalo            = ung_vien.zalo;
                    }
                    else
                    {
                        note.ho_ten_ung_vien = note.id_ung_vien;
                        note.so_dien_thoai   = "";
                        note.email           = "";
                        note.zalo            = "";
                    }
                    lst.Add(note);
                }
            }
            return(Ok(new DataResponsePaging()
            {
                data = lst, total = total_recs, success = data != null, msg = msg
            }));
        }
Exemple #23
0
        private List <UngVien> XuLyCV(XBrowser browser, JobLink job)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                UngVien ung_vien = new UngVien();

                ung_vien.ngay_tao = ung_vien.ngay_sua = XUtil.TimeInEpoch(DateTime.Now);
                ung_vien.app_id   = job.app_id;
                ung_vien.job_link = job.link;
                ung_vien.vi_tri   = job.ten_job;

                ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                ttuv.domain = "jobsgo.vn";
                //ttuv.full_text = block_ung_vien.FindElement(By.XPath("//div[@class='Card__root ApplicationCard__root']")).;
                ung_vien.thong_tin_chung = ttuv;
                ung_vien.ho_ten          = browser.GetInnerText(".//div[@title='Họ tên ứng viên']", 200);
                ung_vien.link_cv_online  = browser.GetAttribute("//div[@class='lnks']/a[@class='btn-download-cv lnk cv']", "href");
                ung_vien.ky_nang         = browser.GetInnerText("//div[@class='skills-list']");
                ung_vien.hoc_van         = browser.GetInnerText("//div[@class='resume-items']//div[@class='name']");

                //div[@class='info-list']/ul/li[1]
                ung_vien.ngay_sinh     = 0;
                ung_vien.so_dien_thoai = browser.GetInnerText("//div[@class='info-list']/ul/li[3]/span[@class='tel']");
                ung_vien.email         = browser.GetInnerText("//div[@class='info-list']/ul/li[4]/span[@class='email']");
                ung_vien.dia_chi       = browser.GetInnerText("//div[@class='info-list']/ul/li[5]/span[@class='address']");

                Uri uri = new Uri(job.link);
                ung_vien.domain = uri.Host;
                var id = string.Join("/", job.link.Split('/').Skip(5));
                //id = id.Substring(0, id.LastIndexOf('/'));
                ung_vien.custom_id = id;
                //Tai file
                //javascript:void(0)

                var link_cv = browser.GetAttribute("//div[@class='lnks']/a[@class='btn-download-cv lnk cv']", "href");

                if (link_cv.Contains("javascript:void(0)"))
                {
                    System.Threading.Thread.Sleep(2500);
                    link_cv = browser.GetAttribute("//div[@class='lnks']/a[@class='btn-download-cv lnk cv']", "href");
                    ung_vien.link_cv_online = link_cv;
                }
                else
                {
                    System.Threading.Thread.Sleep(2500);
                    ung_vien.link_cv_online = link_cv;
                }

                var cv_byte = browser.DownloadFile(ung_vien.link_cv_online, out string cv_file_name);
                if (cv_byte != null)
                {
                    ung_vien.cv_byte = cv_byte;
                    WriteFile($"{cv_save_path}\\{cv_file_name}", cv_byte);
                    ung_vien.link_cv_offline = cv_file_name;
                }
                ung_vien.full_text = browser.GetPageSource();
                ung_vien.nguoi_tao = job.nguoi_tao;
                lst_ung_vien.Add(ung_vien);
                var count = lst_ung_vien.Count;
                System.Threading.Thread.Sleep(2000);
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XUtil.TimeInEpoch();

            return(lst_ung_vien);
        }
Exemple #24
0
        private List <UngVien> XuLyCV(XBrowser browser, JobLink job)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                var eles_ung_vien = browser.Find("//div[@class='col-sm-9']//form//div[@class='list-group-item-heading']");
                if (eles_ung_vien.Count > 0)
                {
                    Dictionary <string, string> dic_cv_ung_vien = new Dictionary <string, string>();
                    foreach (var item_ung_vien in eles_ung_vien)
                    {
                        try
                        {
                            var ho_ten_ele  = browser.FindChildElement(item_ung_vien, ".//span[@class='text-accent']");
                            var link_cv_ele = browser.FindChildElement(item_ung_vien, ".//a");

                            if (ho_ten_ele != null && link_cv_ele != null)
                            {
                                string href   = browser.GetAttribute(link_cv_ele, "href").Trim();
                                string ho_ten = browser.GetAttribute(ho_ten_ele, "innerText").Trim();
                                if (!dic_cv_ung_vien.ContainsKey(href))
                                {
                                    dic_cv_ung_vien.Add(href, ho_ten);
                                }
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                    foreach (var item in dic_cv_ung_vien)
                    {
                        browser.GoTo(item.Key);
                        UngVien ung_vien = new UngVien();
                        ung_vien.ngay_tao  = ung_vien.ngay_sua = XMedia.XUtil.TimeInEpoch();
                        ung_vien.app_id    = job.app_id;
                        ung_vien.job_link  = job.link;
                        ung_vien.ho_ten    = item.Value;
                        ung_vien.full_text = browser.GetPageSource();
                        ung_vien.vi_tri    = job.ten_job;
                        ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                        ttuv.domain              = UrlToDomain(item.Key);
                        ttuv.full_text           = browser.GetInnerHtml("//div[@class='resume-show']//div[@class='media']", 200);
                        ttuv.full_text          += browser.GetInnerHtml("//div[@id='divResumeContactInformation']", 200);
                        ung_vien.thong_tin_chung = ttuv;
                        //Bóc tách XPATH để lấy được thông tin này nếu có
                        ung_vien.kinh_nghiem   = browser.GetInnerHtml("//h4[contains(text(),'Kinh nghiệm')]/following-sibling::dl", 200);
                        ung_vien.ky_nang       = "";
                        ung_vien.hoc_van       = browser.GetInnerHtml("//h4[contains(text(),'Học vấn')]/following-sibling::dl", 200);
                        ung_vien.email         = browser.GetInnerHtml("//a[contains(@href,'mailto')]", 200);
                        ung_vien.so_dien_thoai = browser.GetInnerHtml("//div[@id='divResumeContactInformation']//dt[contains(text(),'Điện')]/following-sibling::dd[1]", 200);
                        string ngay_sinh = browser.GetInnerText("//span[@class='confidential-birth-day']", 500);
                        ung_vien.domain    = UrlToDomain(item.Key);
                        ung_vien.custom_id = item.Key.Substring(item.Key.LastIndexOf("/") + 1);
                        ung_vien.nguoi_tao = job.nguoi_tao;
                        if (!string.IsNullOrEmpty(ngay_sinh))
                        {
                            //Convert ngay sinh
                            System.Globalization.DateTimeFormatInfo dtfi = new System.Globalization.DateTimeFormatInfo();
                            dtfi.ShortDatePattern = "dd/MM/yyyy";
                            dtfi.DateSeparator    = "/";
                            try
                            {
                                var bird_day = Convert.ToDateTime(ngay_sinh, dtfi);

                                ung_vien.ngay_sinh = XMedia.XUtil.TimeInEpoch(bird_day);
                            }
                            catch (Exception)
                            {
                            }
                        }
                        var ifr = browser.FindFirst("//iframe");
                        if (ifr != null)
                        {
                            ung_vien.link_cv_offline = browser.DownloadByBrowserInIFrame("//iframe", "//button[@id='download']");
                            if (!string.IsNullOrEmpty(ung_vien.link_cv_offline))
                            {
                                ung_vien.cv_byte = File.ReadAllBytes($"{cv_save_path}\\{ung_vien.link_cv_offline}");
                            }
                        }

                        lst_ung_vien.Add(ung_vien);
                    }
                }
                else
                {
                    job.thong_tin_xu_ly = Common.KHONG_TIM_THAY_UNG_VIEN;
                }
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XMedia.XUtil.TimeInEpoch();
            return(lst_ung_vien);
        }
Exemple #25
0
        private List <UngVien> XuLyCV(XBrowser browser, JobLink job)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                var           eles_ung_vien      = browser.Find("//div[@class='Card__root ApplicationCard__root']");
                List <string> lst_block_ung_vien = new List <string>();
                if (eles_ung_vien.Count > 0)
                {
                    foreach (var block_ung_vien in eles_ung_vien)
                    {
                        try
                        {
                            UngVien ung_vien = new UngVien();

                            ung_vien.ngay_tao = ung_vien.ngay_sua = XUtil.TimeInEpoch(DateTime.Now);
                            ung_vien.app_id   = job.app_id;
                            ung_vien.job_link = job.link;
                            ung_vien.vi_tri   = job.ten_job;
                            try
                            {
                                ung_vien.ho_ten = block_ung_vien.FindElement(By.ClassName("ApplicationCard__name")).Text;
                            }
                            catch (Exception)
                            {
                                ung_vien.ho_ten = "";
                            }

                            try
                            {
                                browser.FindFirst(".//div[@class='CardCopy__regularSpacing CardCopy__extraTopMargin']/a").Click();
                                System.Threading.Thread.Sleep(1500);
                                ung_vien.link_cv_online = block_ung_vien.FindElement(By.XPath(".//iframe[@class='DownloadResume__downloadFrame']")).GetAttribute("src");
                            }
                            catch (Exception)
                            {
                            }
                            ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                            ttuv.domain = "jobstreet.vn";
                            //ttuv.full_text = block_ung_vien.FindElement(By.XPath("//div[@class='Card__root ApplicationCard__root']")).;
                            ung_vien.thong_tin_chung = ttuv;

                            //Bóc tách XPATH để lấy được thông tin này nếu có

                            var is_exist_email = browser.FindFirst(".//div[@class='ApplicationCard__revealEmailAddress']/span/a");
                            var is_exist_phone = browser.FindFirst(".//div[@class='ApplicationCard__revealPhoneNumber']/span/a");

                            if ((is_exist_email != null && is_exist_email.Displayed == true) || (is_exist_phone != null && is_exist_phone.Displayed == true))
                            {
                                if (is_exist_email != null)
                                {
                                    is_exist_email.Click();
                                    System.Threading.Thread.Sleep(300);
                                    var element_email = block_ung_vien.FindElement(By.XPath(".//div[@class='ApplicationCard__revealEmailAddress']/a"));
                                    if (element_email != null && element_email.Displayed == true)
                                    {
                                        ung_vien.email = block_ung_vien.FindElement(By.XPath(".//div[@class='ApplicationCard__revealEmailAddress']/a")).Text;
                                    }
                                }
                                if (is_exist_phone != null)
                                {
                                    is_exist_phone.Click();
                                    System.Threading.Thread.Sleep(300);
                                    var element_phone = browser.FindFirst(".//div[@class='ApplicationCard__revealPhoneNumber']/span/a");

                                    if (element_phone != null && element_phone.Displayed == true)
                                    {
                                        ung_vien.so_dien_thoai = block_ung_vien.FindElement(By.XPath("//div[@class='ApplicationCard__revealPhoneNumber']")).Text;
                                    }
                                }
                            }
                            ung_vien.ky_nang   = "";
                            ung_vien.hoc_van   = "";
                            ung_vien.ngay_sinh = 0;
                            Uri uri = new Uri(job.link);
                            ung_vien.domain = uri.Host;
                            var id = string.Join("/", job.link.Split('/').Skip(5));
                            id = id.Substring(0, id.LastIndexOf('/'));
                            ung_vien.custom_id = id;
                            //Tai file
                            //browser.DownloadByBrowser(block_ung_vien.FindElement(By.XPath(".//div[@class='CardCopy__regularSpacing CardCopy__extraTopMargin']/a")));
                            var cv_byte = browser.DownloadFile(ung_vien.link_cv_online, out string cv_file_name);
                            if (cv_byte != null)
                            {
                                ung_vien.cv_byte = cv_byte;
                                WriteFile($"{cv_save_path}\\{cv_file_name}", cv_byte);
                                ung_vien.link_cv_offline = cv_file_name;
                            }
                            ung_vien.full_text = browser.GetPageSource();
                            ung_vien.nguoi_tao = job.nguoi_tao;
                            lst_ung_vien.Add(ung_vien);
                            var count = lst_ung_vien.Count;
                            //browser.FindAndClick("//div[@title='Đóng lại']");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex);
                        }
                    }
                }
                else
                {
                    job.thong_tin_xu_ly = Common.KHONG_TIM_THAY_UNG_VIEN;
                }
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XUtil.TimeInEpoch();

            return(lst_ung_vien);
        }
 public bool LuuUngVien(UngVien UngVien)
 {
     db.UngViens.Add(UngVien);
     db.SaveChanges();
     return true;
 }
Exemple #27
0
        public List <UngVien> XuLyCV(XBrowser browser, JobLink job, string url_ung_vien)
        {
            job.trang_thai_xu_ly = TrangThaiXuLy.DA_XU_LY;

            List <UngVien> lst_ung_vien = new List <UngVien>();

            try
            {
                //var eles_ung_vien = browser.Find("//table[@class='el-table__body']//tbody//div/div/div[1]/a");
                //if (eles_ung_vien.Count <= 0)
                //{
                //    job.thong_tin_xu_ly = Common.KHONG_TIM_THAY_UNG_VIEN;
                //}

                try
                {
                    UngVien ung_vien = new UngVien();
                    ung_vien.vi_tri         = job.ten_job;
                    ung_vien.ngay_tao       = ung_vien.ngay_sua = XMedia.XUtil.TimeInEpoch();
                    ung_vien.app_id         = job.app_id;
                    ung_vien.job_link       = job.link;
                    ung_vien.ho_ten         = browser.GetInnerText("//div[@class='panel-body']//h5/span", 2000);
                    ung_vien.link_cv_online = browser.GetAttribute("//div[@class='panel-footer']//div[@class='pull-right']//a", "href");
                    ThongTinChungUngVien ttuv = new ThongTinChungUngVien();
                    ttuv.domain = "mywork.com";
                    ung_vien.thong_tin_chung = ttuv;
                    //Bóc tách XPATH để lấy được thông tin này nếu có
                    ung_vien.kinh_nghiem   = browser.GetInnerText("//div[@class='list-item']");
                    ung_vien.ky_nang       = browser.GetInnerText("//div[@class='panel-body']/div[7]");
                    ung_vien.so_dien_thoai = browser.GetInnerText("//div[@class='info']//div/div[2]/p[2]/span");
                    ung_vien.email         = browser.GetInnerText("//div[@class='info']//div[2]/p[1]/a");
                    Uri uri = new Uri(url_ung_vien);
                    ung_vien.domain    = uri.Host;
                    ung_vien.custom_id = url_ung_vien.Split('/').Last();
                    ung_vien.hoc_van   = "";
                    ung_vien.ngay_sinh = 0;
                    //Tai file
                    var cv_byte = browser.DownloadFile(ung_vien.link_cv_online, out string cv_file_name);
                    if (cv_byte != null)
                    {
                        ung_vien.cv_byte = cv_byte;
                        WriteFile($"{cv_save_path}\\{cv_file_name}", cv_byte);
                        ung_vien.link_cv_offline = cv_file_name;
                    }

                    ung_vien.full_text = browser.GetPageSource();
                    ung_vien.nguoi_tao = job.nguoi_tao;
                    lst_ung_vien.Add(ung_vien);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
            catch (Exception ex)
            {
                job.trang_thai_xu_ly = TrangThaiXuLy.LOI;
                job.thong_tin_xu_ly  = ex.Message;
            }
            job.ngay_xu_ly = XUtil.TimeInEpoch();
            return(lst_ung_vien);
        }
Exemple #28
0
 public static bool Index(UngVien data)
 {
     return(UngVienRepository.Instance.Index(data));
 }
Exemple #29
0
        public async Task <ServiceResult> UpdateUngVien(UngVien ungVien)
        {
            await _ungVienRepository.UpdateAsync(ungVien);

            return(ServiceResult.Success);
        }
Exemple #30
0
        public string IndexRetId(UngVien data)
        {
            string id = Index(_default_index, data);

            return(id);
        }