Пример #1
0
        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
            }));
        }
Пример #2
0
        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 }));
        }
Пример #3
0
        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());
        }
Пример #4
0
        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 }));
        }