public IActionResult UngVienJob(string id, string token, string id_ung_vien) { List <string> lst_id = new List <string>(); if (!string.IsNullOrEmpty(id_ung_vien)) { lst_id = id_ung_vien.Split(',').ToList(); } List <NoteUngVienJob> data = new List <NoteUngVienJob>(); List <NoteUngVienJobNhaTuyenDung> lst_uv = new List <NoteUngVienJobNhaTuyenDung>(); long total_recs = 0; string msg = ""; var lst_pq = PhanQuyenBL.GetQuyenActive($"{id}|{token}", -1, PhanQuyenObjType.NOTE_UNG_VIEN_JOB, new List <int>() { (int)Quyen.VIEW }, new string[] { "obj_id", "obj_type" }); var lst_id_note_ung_vien_job_shared = lst_pq.Select(x => x.obj_id).ToList(); lst_id_note_ung_vien_job_shared.AddRange(lst_id); data = NoteUngVienJobBL.GetMany(lst_id_note_ung_vien_job_shared); // lấy note ứng viên var nha_tuyen_dung = NhaTuyenDungBL.GetByToken(token); var lst_note_uv_job = data.Select(x => x.id_note_ung_vien_job); var all_note_cua_ntd = NoteBL.NhaTuyenDungNoteUngVien(lst_note_uv_job, nha_tuyen_dung.id_nha_tuyen_dung, out total_recs, out msg, 9999); var lst_id_ung_vien = data.Select(x => x.id_ung_vien).ToList(); var data_ung_vien = UngVienBL.GetMany(lst_id_ung_vien).ToDictionary(x => x.id_ung_vien, y => y); int stt = 1; foreach (var item in data) { data_ung_vien.TryGetValue(item.id_ung_vien, out UngVien ung_vien); if (ung_vien != null) { foreach (var temp in all_note_cua_ntd.Where(x => x.id_obj == item.id_note_ung_vien_job).OrderByDescending(o => o.ngay_tao).Take(1)) { item.ghi_chu_nha_tuyen_dung = temp.noi_dung; } lst_uv.Add(new NoteUngVienJobNhaTuyenDung(item, ung_vien) { stt = stt++ }); } } return(Ok(new DataResponse() { data = lst_uv, success = data != null, msg = msg })); }
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 })); }