public async Task <ActionResult <UngVien> > PostUngVien(UngVien ungVien) { _context.UngVien.Add(ungVien); await _context.SaveChangesAsync(); return(CreatedAtAction("GetUngVien", new { id = ungVien.IdungVien }, ungVien)); }
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()); }
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 })); } }
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); }
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; }
private UngVien ConvertDoc(IHit <UngVien> hit) { UngVien u = new UngVien(); try { u = hit.Source; u.id_ung_vien = hit.Id; } catch { } return(u); }
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); }
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")); }
//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" })); } }
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("/")); } }
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); }
public static bool Update(UngVien data) { return(UngVienRepository.Instance.Update(data)); }
public static string IndexRetId(UngVien data) { return(UngVienRepository.Instance.IndexRetId(data)); }
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 })); }
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); }
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); }
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; }
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); }
public static bool Index(UngVien data) { return(UngVienRepository.Instance.Index(data)); }
public async Task <ServiceResult> UpdateUngVien(UngVien ungVien) { await _ungVienRepository.UpdateAsync(ungVien); return(ServiceResult.Success); }
public string IndexRetId(UngVien data) { string id = Index(_default_index, data); return(id); }