public IActionResult GetLog(string id_obj) { long total_recs = 0; string msg = ""; // Số lần nhà tuyển dụng đã truy cập var all_log_truy_cap = NoteBL.GetAllLogNhaTuyenDung(id_obj, out total_recs, out msg, 9999); var nha_tuyen_dung = NhaTuyenDungBL.GetById(id_obj); var note_ung_vien_da_shared = nha_tuyen_dung?.lst_id_share; // Nhà tuyển dụng đã xem ứng viên nào var all_log_xem_cv_ung_vien = NoteBL.GetAllNhaTuyenDungXemCvUngVien(note_ung_vien_da_shared, nha_tuyen_dung.id_nha_tuyen_dung, out total_recs, out msg, 9999); // Note của nhà tuyển dụng cho ứng viên var all_note_cua_ntd = NoteBL.NhaTuyenDungNoteUngVien(note_ung_vien_da_shared, nha_tuyen_dung.id_nha_tuyen_dung, out total_recs, out msg, 9999); // var get_id_note_from_note = all_note_cua_ntd.Select(x => x.id_obj); // get list note ứng viên job từ note của ứng viên var lst_id_note_ung_vien_job = NoteUngVienJobBL.GetMany(get_id_note_from_note); // lấy list id ứng viên từ list note ứng viên job var lst_id_ung_vien = lst_id_note_ung_vien_job.Select(x => x.id_ung_vien); // lấy được list ứng viên var ung_vien = QLCUNL.BL.UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y); List <NoteUngVienJobMap> lst = new List <NoteUngVienJobMap>(); foreach (var item in lst_id_note_ung_vien_job) { NoteUngVienJobMap map = new NoteUngVienJobMap(item, ung_vien); lst.Add(map); } List <NoteUngVienJobMap> lst_cv_log = new List <NoteUngVienJobMap>(); foreach (var item in all_log_xem_cv_ung_vien) { NoteUngVienJobMap map_note_ung_vien = new NoteUngVienJobMap(item, lst); lst_cv_log.Add(map_note_ung_vien); } List <NoteUngVienJobMap> lst_map = new List <NoteUngVienJobMap>(); foreach (var item in all_note_cua_ntd) { NoteUngVienJobMap map_note_ung_vien = new NoteUngVienJobMap(item, lst); lst_map.Add(map_note_ung_vien); } return(Ok(new { data_log = all_log_truy_cap, data_cv = lst_cv_log, data_note = lst_map, success = true, msg = msg })); }
public IActionResult Get(string id) { var employer = QLCUNL.BL.NhaTuyenDungBL.GetById(id); if (employer != null) { if (employer.lst_id_share != null) { var lst_id_note_ung_vien_job = NoteUngVienJobBL.GetMany(employer.lst_id_share); var lst_id_ung_vien = lst_id_note_ung_vien_job.Select(x => x.id_ung_vien); var ung_vien = QLCUNL.BL.UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y); List <NoteUngVienJobMap> lst = new List <NoteUngVienJobMap>(); foreach (var item in lst_id_note_ung_vien_job) { NoteUngVienJobMap map = new NoteUngVienJobMap(item, ung_vien); lst.Add(map); } return(Ok(new { value = lst, data = employer, success = employer != null, msg = "" })); } } return(BadRequest()); }
public IActionResult GetUngVienDaNote(string id_obj) { long total_recs = 0; string msg = ""; var nha_tuyen_dung = NhaTuyenDungBL.GetById(id_obj); var note_ung_vien_da_shared = nha_tuyen_dung?.lst_id_share; var all_note_cua_ntd = NoteBL.NhaTuyenDungNoteUngVien(note_ung_vien_da_shared, nha_tuyen_dung.id_nha_tuyen_dung, out total_recs, out msg, 9999); var get_id_note_from_note = all_note_cua_ntd.Select(x => x.id_obj); // get list note ứng viên job từ note của ứng viên var lst_id_note_ung_vien_job = NoteUngVienJobBL.GetMany(get_id_note_from_note); // lấy list id ứng viên từ list note ứng viên job var lst_id_ung_vien = lst_id_note_ung_vien_job.Select(x => x.id_ung_vien); // lấy được list ứng viên var ung_vien = QLCUNL.BL.UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y); List <NoteUngVienJobMap> lst_note_map = new List <NoteUngVienJobMap>(); foreach (var item in lst_id_note_ung_vien_job) { NoteUngVienJobMap map = new NoteUngVienJobMap(item, ung_vien); lst_note_map.Add(map); } return(Ok(new { data = lst_note_map, success = ung_vien.Count > 0, msg = msg })); }
public IActionResult Search(string term, string id_user, string id_job, string id_ung_vien, long ngay_gio_phong_van_from, long ngay_gio_phong_van_to, long ngay_di_lam_from, long ngay_di_lam_to, double luong_thu_viec_from, long luong_thu_viec_to, double luong_chinh_thuc_from, long luong_chinh_thuc_to, string thuoc_tinh, string thuoc_tinh_rieng , int page, int page_size) { 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 <NoteUngVienJob> data_note_ung_vien_job = new List <NoteUngVienJob>(); long total_recs = 0; string msg = ""; 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_JOB, 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 && lst_thuoc_tinh.Count == 0) { } else { data_note_ung_vien_job = QLCUNL.BL.NoteUngVienJobBL.Search(app_id, user, group, "", id_user, id_job, id_ung_vien, ngay_gio_phong_van_from, ngay_gio_phong_van_to, ngay_di_lam_from, ngay_di_lam_to, luong_thu_viec_from, luong_thu_viec_to, luong_chinh_thuc_from, luong_chinh_thuc_to, lst_thuoc_tinh, lst_id, page, out total_recs, out msg, page_size, (is_sys_admin || is_app_admin), fields); } var lst_id_job = data_note_ung_vien_job.Select(x => x.id_job); var lst_id_ung_vien = data_note_ung_vien_job.Select(x => x.id_ung_vien); var data_job = QLCUNL.BL.JobBL.GetMany(app_id, lst_id_job, new string[] { "chuc_danh", "cong_ty", "nguoi_lien_he" }).ToDictionary(x => x.id_job, y => y); var data_ung_vien = QLCUNL.BL.UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y); var lst_id_thuoc_tinh = data_note_ung_vien_job.Where(x => x.thuoc_tinh != null).SelectMany(x => x.thuoc_tinh).ToList(); // tìm note nhà tuyển dụng của từng ứng viên. long total_seen = 0; var list_id_note_uv_job = data_note_ung_vien_job.Select(x => x.id_note_ung_vien_job); var tim_ntd_by_list_note = NhaTuyenDungBL.GetNhaTuyenDungByLstIdShare(app_id, list_id_note_uv_job, 1, out total_seen, out msg, 9999); var id_ntd = tim_ntd_by_list_note.Select(x => x.id); var id_nha_tuyen_dung = tim_ntd_by_list_note.Select(x => x.id_nha_tuyen_dung); //var nguoi_tao = string.Join(",", id_nha_tuyen_dung); //var note_nha_tuyen_dung = NoteBL.NhaTuyenDungNoteUngVien(id_ntd, nguoi_tao, out total_seen, out msg, 9999); var list_name = new List <string>(); var lst_note = new List <Note>(); foreach (var nguoi_tao in tim_ntd_by_list_note) { list_name.Add(nguoi_tao.id_nha_tuyen_dung); } foreach (var item in list_name) { var ntd_xem_cv_ung_vien = NoteBL.GetAllNhaTuyenDungXemCvUngVien(list_id_note_uv_job, item, out total_seen, out msg, 9999); lst_note.AddRange(ntd_xem_cv_ung_vien); } List <NoteUngVienJobMap> lst = new List <NoteUngVienJobMap>(); var dic_thuoc_tinh_rieng = QLCUNL.BL.ThuocTinhDuLieuBL.GetIdThuocTinhByIdObj(app_id, data_note_ung_vien_job.Select(x => x.id_note_ung_vien_job), user); if (dic_thuoc_tinh_rieng.Count > 0) { foreach (var tt_r in dic_thuoc_tinh_rieng) { lst_id_thuoc_tinh.AddRange(tt_r.Value); } } var data_thuoc_tinh = QLCUNL.BL.ThuocTinhBL.GetManyByGiaTri(app_id, lst_id_thuoc_tinh, LoaiThuocTinh.NOTE_UNG_VIEN_JOB, -1); foreach (var item in data_note_ung_vien_job) { dic_thuoc_tinh_rieng.TryGetValue(item.id_note_ung_vien_job, out List <int> tt_rieng); if (tt_rieng == null) { tt_rieng = new List <int>(); } NoteUngVienJobMap note = new NoteUngVienJobMap(item, data_job, data_ung_vien, data_thuoc_tinh, tt_rieng); foreach (var em in lst_note.Where(x => x.id_obj.Contains(item.id_note_ung_vien_job))) { if (em.id_obj == item.id_note_ung_vien_job) { note.xem_cv = true; } else { note.xem_cv = false; } } lst.Add(note); } return(Ok(new DataResponsePaging() { data = lst, total = total_recs, success = data_note_ung_vien_job != null, msg = msg })); }