Пример #1
0
        public IActionResult UngVienDuocXemCv(string id_ung_vien)
        {
            long   total_recs = 0;
            string msg        = "";
            // Có id ứng viên => tìm được tất cả các note ứng viên job
            // Từ Id note ứng viên job lấy được các note, nhà tuyển dụng đã xem cv c
            var get_note_uv_job_by_id_uv = NoteUngVienJobBL.GetNoteUngVienByIdUngVien(app_id, id_ung_vien.Split(","), 1, out total_recs, out msg, 999, (is_sys_admin || is_app_admin));
            // lấy id note ứng viên job
            var id_note_ung_vien_job    = get_note_uv_job_by_id_uv.Select(x => x.id_note_ung_vien_job);
            var all_log_xem_cv_ung_vien = NoteBL.GetLogXemCvTuyenDung(id_note_ung_vien_job, out total_recs, out msg, 9999);
            var cv = all_log_xem_cv_ung_vien.GroupBy(x => x.id_obj).ToDictionary(o => o.Key, o => o.Select(x => x.noi_dung));

            //
            //lấy id job
            var lst_id_job = get_note_uv_job_by_id_uv.Select(x => x.id_job);
            // tìm nhà tuyển dụng bằng id_job sau đó lấy được những nhà tuyển dụng đã được tạo ra gắn với job đó
            var nha_tuyen_dung_job = NhaTuyenDungBL.GetNhaTuyenDungByIdJob(app_id, lst_id_job, 1, out total_recs, out msg, 9999);
            // lst id đã shared trong mỗi nhà tuyển dụng
            var           lst_id_shared = nha_tuyen_dung_job.Select(x => x.lst_id_share);
            List <string> lst           = new List <string>();

            foreach (var id in lst_id_shared)
            {
                lst.AddRange(id);
            }
            bool is_exist = lst.Intersect(id_note_ung_vien_job).Any();
            //
            Dictionary <string, string> dic = new Dictionary <string, string>();

            foreach (var item in cv.Where(x => id_note_ung_vien_job.Contains(x.Key)))
            {
                dic.Add(item.Key, item.Value.FirstOrDefault());
            }
            foreach (var get in get_note_uv_job_by_id_uv)
            {
                if (dic.ContainsKey(get.id_note_ung_vien_job))
                {
                    get.ghi_chu = dic.Values.FirstOrDefault();
                }
                else if (is_exist)
                {
                    get.ghi_chu = "Đã gửi";
                }
                else
                {
                    get.ghi_chu = "Chưa gửi";
                }
            }
            return(Ok(new DataResponse {
                data = get_note_uv_job_by_id_uv, success = true, msg = msg
            }));
        }