public IActionResult Get(string id) { if (QLCUNL.BL.UngVienBL.CanView(id, user, group) || (is_sys_admin || is_app_admin)) { var ung_vien = QLCUNL.BL.UngVienBL.GetById(id); if (ung_vien != null) { var lst_id_thuoc_tinh = ung_vien.thuoc_tinh != null ? ung_vien.thuoc_tinh : new List <int>(); var thuoc_tinh_chung = ThuocTinhBL.GetManyByGiaTri(app_id, lst_id_thuoc_tinh, LoaiThuocTinh.UNG_VIEN, ThuocTinhType.SHARED); var thuoc_tinh_chung1 = ThuocTinhBL.GetManyByGiaTri(app_id, lst_id_thuoc_tinh, LoaiThuocTinh.UNG_VIEN, ThuocTinhType.PRIVATE); var list = thuoc_tinh_chung.Concat(thuoc_tinh_chung1).ToList(); var lst_thuoc_tinh_rieng = QLCUNL.BL.ThuocTinhDuLieuBL.GetIdThuocTinhByIdObj(app_id, ung_vien.id_ung_vien, user); if (lst_thuoc_tinh_rieng.Count() > 0) { var thuoc_tinh_rieng = QLCUNL.BL.ThuocTinhBL.GetPrivateByLoaiGiaTri(app_id, user, lst_thuoc_tinh_rieng, LoaiThuocTinh.UNG_VIEN, (is_sys_admin || is_app_admin)); list.AddRange(thuoc_tinh_rieng); } UngVienMap uv_map = new UngVienMap(ung_vien, list); return(Ok(new DataResponse() { data = uv_map, success = ung_vien != null, msg = "" })); } return(Ok(new DataResponse() { data = ung_vien, success = ung_vien != null, msg = "" })); } return(Ok(new DataResponse() { data = new { }, success = false, msg = "" })); }
public IActionResult SearchUngVienFree(string term, string id_user_job, string id_ung_vien, long ngay_di_lam_from, long ngay_di_lam_to, double luong_mong_muon_from, double luong_mong_muon_to, string thuoc_tinh, string thuoc_tinh_rieng, long ngay_tao_from, long ngay_tao_to, int page, int page_size) { var default_settings = QLCUNL.BL.UserBL.GetDefaultSettingByAppId(app_id); 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 <UngVien> data = new List <UngVien>(); 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.UNG_VIEN, lst_thuoc_tinh_rieng, 1, out long total_recs_thuoc_tinh, out _, page_size * 2); lst_id = lst_id_obj.Select(x => x.id_obj).ToList(); } } if (is_find_thuoc_tinh_rieng && lst_id.Count == 0) { } else { List <UngVienMap> uv_map = new List <UngVienMap>(); var get_all_note_ung_vien_job = QLCUNL.BL.NoteUngVienJobBL.GetListIdUngVienByIdUserJob(app_id, id_user_job, page, out total_recs, out msg, page_size, (is_sys_admin || is_app_admin)); var lst_id_ung_vien_da_di_lam = QLCUNL.BL.NoteUngVienJobBL.Search(app_id, user, group, string.Empty, string.Empty, string.Empty, string.Empty, 0, 0, 0, 0, 0, 0, 0, 0, new List <int>() { default_settings.trang_thai_user_job_bao_cao }, new List <string>(), 1, out _, out _, 9999, (is_sys_admin || is_app_admin), null).Select(x => x.id_ung_vien); data = QLCUNL.BL.UngVienBL.Search(app_id, user, group, term, id_ung_vien, ngay_di_lam_from, ngay_di_lam_to, luong_mong_muon_from, luong_mong_muon_to, lst_thuoc_tinh, lst_id, ngay_tao_from, ngay_tao_to, page, out total_recs, out msg, page_size, (is_sys_admin || is_app_admin), lst_id_ung_vien_da_di_lam, null).Where(x => !get_all_note_ung_vien_job.Contains(x.id_ung_vien)).ToList(); foreach (var item in data) { var all_thuoc_tinh_uv = ThuocTinhBL.GetAllByLoaiThuocTinh(app_id, (int)LoaiThuocTinh.UNG_VIEN, -1).Where(x => item.thuoc_tinh.Contains(x.gia_tri)); var uv = new UngVienMap(item, all_thuoc_tinh_uv); uv_map.Add(uv); } return(Ok(new DataResponsePaging() { data = uv_map, total = total_recs, success = data != null, msg = msg })); } return(Ok(new DataResponsePaging() { data = data, total = total_recs, success = data != null, msg = msg })); }
public IActionResult Search(string term, string id_ung_vien, long ngay_di_lam_from, long ngay_di_lam_to, double luong_mong_muon_from, double luong_mong_muon_to, string thuoc_tinh, string thuoc_tinh_rieng, long ngay_tao_from, long ngay_tao_to, bool tim_ung_vien_team_khac, int page, int page_size, string field_sort = "", string sort = "") { Dictionary <string, bool> sort_order = new Dictionary <string, bool>(); if (!string.IsNullOrEmpty(field_sort) && !string.IsNullOrEmpty(sort)) { sort_order.Add(field_sort, sort == "0" ? true : false); } else { sort_order.Add("ngay_tao", true); } 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 <UngVien> data = new List <UngVien>(); List <UngVienMap> list_uv = new List <UngVienMap>(); 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.UNG_VIEN, lst_thuoc_tinh_rieng, 1, out long total_recs_thuoc_tinh, out _, page_size * 2); lst_id = lst_id_obj.Where(x => !string.IsNullOrEmpty(x.id_obj)).Select(x => x.id_obj).ToList(); } } if (tim_ung_vien_team_khac) { //Tìm admin của app_id này và lấy default_settings xem có cho phép tìm trong team khác hay không, nếu có thì cho phép tìm var default_settings = UserBL.GetDefaultSettingByAppId(app_id); tim_ung_vien_team_khac = default_settings.tim_ung_vien_team_khac; } if (is_find_thuoc_tinh_rieng && lst_id.Count == 0 && lst_thuoc_tinh.Count == 0) { } else { data = QLCUNL.BL.UngVienBL.Search(app_id, user, group, term, id_ung_vien, ngay_di_lam_from, ngay_di_lam_to, luong_mong_muon_from, luong_mong_muon_to, lst_thuoc_tinh, lst_id, ngay_tao_from, ngay_tao_to, page, out total_recs, out msg, page_size, (is_sys_admin || is_app_admin || tim_ung_vien_team_khac), null, sort_order); } var dic_thong_ke_ung_vien_job = NoteUngVienJobBL.ThongKeUngVienTheoJob(app_id, data.Select(x => x.id_ung_vien)); var all_thuoc_tinh_uv = ThuocTinhBL.GetAllByLoaiThuocTinh(app_id, (int)LoaiThuocTinh.UNG_VIEN, -1); foreach (var item in data) { var tt_theo_ung_vien = all_thuoc_tinh_uv.Where(x => item.thuoc_tinh.Contains(x.gia_tri)); var uv_map = new UngVienMap(item, tt_theo_ung_vien); dic_thong_ke_ung_vien_job.TryGetValue(item.id_ung_vien, out long so_luong_job_da_gan); uv_map.so_luong_job_da_gan = so_luong_job_da_gan; list_uv.Add(uv_map); } return(Ok(new DataResponsePaging() { data = list_uv, total = total_recs, success = data != null, msg = msg })); }