public Rec_RecruitmentHistoryModel GetById(Guid id) { string status = string.Empty; var model = new Rec_RecruitmentHistoryModel(); var service = new ActionService(UserLogin); var entity = service.GetByIdUseStore<Rec_RecruitmentHistoryEntity>(id, ConstantSql.hrm_rec_sp_get_RecruitmentHistoryById, ref status); if (entity != null) { model = entity.CopyData<Rec_RecruitmentHistoryModel>(); } if (!string.IsNullOrEmpty(model.Status)) model.Status = model.Status.TranslateString(); model.ActionStatus = status; return model; }
//var result = GetListDataAndReturn<Rec_CandidateModel, Rec_CandidateEntity, Rec_CandidateSearchModel>(request, model, ConstantSql.hrm_rec_sp_get_WaitingInterviewList); //return result; //} public ActionResult ExportWatingInterviewByTemplate([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).Distinct().ToList(); var objCampaignDetail = new List<object>(); objCampaignDetail.AddRange(new object[16]); objCampaignDetail[14] = 1; objCampaignDetail[15] = int.MaxValue - 1; var resultCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(objCampaignDetail, ConstantSql.hrm_rec_sp_get_InterviewCampaignDetail, UserLogin, ref status); resultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID != null && lstrechisids.Contains(s.RecruitmentHistoryID.Value)).ToList(); var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); #region Kết quả là rớt hoặc vỏng phỏng vấn = cuối thì KHÔNG load vào danh sách chờ phỏng vấn foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } #endregion var isDataTable = false; object obj = new Rec_RecruitmentHistoryModel(); if (model.IsCreateTemplateForDynamicGrid) { obj = resultRecruitmentHistory; isDataTable = false; } if (model != null && model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = obj, FileName = "Rec_RecruitmentHistoryModel", OutPutPath = path, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = isDataTable }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } var objInterview = new List<object>(); objInterview.AddRange(new object[2]); objInterview[0] = 1; objInterview[1] = int.MaxValue - 1; var lstInterView = baseService.GetData<Rec_InterviewModel>(objInterview, ConstantSql.hrm_rec_sp_get_InterviewDataReport, UserLogin, ref status).ToList(); foreach (var item in resultRecruitmentHistory) { if (lstInterView.Count > 0) { var dataLevel1 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 1).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel2 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 2).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel3 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 3).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel4 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 4).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel5 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 5).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); if(dataLevel1 != null) { item.Score1_1 = dataLevel1.Score1; item.Score1_2 = dataLevel1.Score2; item.Score1_3 = dataLevel1.Score3; item.KQ1 = dataLevel1.ResultInterviewView; item.LanguageCode1 = dataLevel1.LanguageCode; item.DateInterview1 = dataLevel1.DateInterview; } if (dataLevel2 != null) { item.Score2_1 = dataLevel2.Score1; item.Score2_2 = dataLevel2.Score2; item.Score2_3 = dataLevel2.Score3; item.KQ2 = dataLevel2.ResultInterviewView; item.LanguageCode2 = dataLevel2.LanguageCode; item.DateInterview2 = dataLevel2.DateInterview; } if (dataLevel3 != null) { item.Score3_1 = dataLevel3.Score1; item.Score3_2 = dataLevel3.Score2; item.Score3_3 = dataLevel3.Score3; item.KQ3 = dataLevel3.ResultInterviewView; item.LanguageCode3 = dataLevel3.LanguageCode; item.DateInterview3 = dataLevel3.DateInterview; } if (dataLevel4 != null) { item.Score4_1 = dataLevel4.Score1; item.Score4_2 = dataLevel4.Score2; item.Score4_3 = dataLevel4.Score3; item.KQ4 = dataLevel4.ResultInterviewView; item.LanguageCode4 = dataLevel4.LanguageCode; item.DateInterview4 = dataLevel4.DateInterview; } if (dataLevel5 != null) { item.Score5_1 = dataLevel5.Score1; item.Score5_2 = dataLevel5.Score2; item.Score5_3 = dataLevel5.Score3; item.KQ5 = dataLevel5.ResultInterviewView; item.LanguageCode5 = dataLevel5.LanguageCode; item.DateInterview5 = dataLevel5.DateInterview; } } } if (model.ExportId != Guid.Empty) { var fullPath = ExportService.Export(model.ExportId, resultRecruitmentHistory, null, model.ExportType); return Json(fullPath); } return Json(resultRecruitmentHistory.ToDataSourceResult(request)); }
//[Tho.Bui] - Load theo lich su ung vien public ActionResult GetWaitingInterList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).Distinct().ToList(); var objCampaignDetail = new List<object>(); objCampaignDetail.AddRange(new object[16]); objCampaignDetail[14] = 1; objCampaignDetail[15] = int.MaxValue - 1; var resultCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(objCampaignDetail, ConstantSql.hrm_rec_sp_get_InterviewCampaignDetail, UserLogin, ref status); resultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID != null && lstrechisids.Contains(s.RecruitmentHistoryID.Value)).ToList(); var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); #region Kết quả là rớt hoặc vỏng phỏng vấn = cuối thì KHÔNG load vào danh sách chờ phỏng vấn foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } #endregion return Json(resultRecruitmentHistory.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public ActionResult ExportRecruitmentHistoryListByTemplate([DataSourceRequest] DataSourceRequest request, Rec_RecruitmentHistorySearchModelNew model) { request.PageSize = 10000000; string status = string.Empty; var isDataTable = false; object obj = new Rec_RecruitmentHistoryModel(); var result = GetListData<Rec_RecruitmentHistoryModel, Rec_RecruitmentHistoryEntity, Rec_RecruitmentHistorySearchModelNew>(request, model, ConstantSql.hrm_rec_sp_get_RecruitmentHistory, ref status); if (model.IsCreateTemplateForDynamicGrid) { obj = result; isDataTable = false; } if (model != null && model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = obj, FileName = "Rec_RecruitmentHistoryModel", OutPutPath = path, // HeaderInfo = listHeaderInfo, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = isDataTable }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } if (model.ExportId != Guid.Empty) { var fullPath = ExportService.Export(model.ExportId, result, null, model.ExportType); return Json(fullPath); } return Json(result.ToDataSourceResult(request)); }
public ActionResult ExportAllWaitingInterviewList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).ToList(); var resultCampaignDetail = new List<Rec_InterviewCampaignDetailModel>(); int _total = lstrechisids.Count; int _totalPage = _total / 100 + 1; int _pageSize = 100; for (int _page = 1; _page <= _totalPage; _page++) { int _skip = _pageSize * (_page - 1); var _listCurrenPage = lstrechisids.Skip(_skip).Take(_pageSize).ToList(); string _strselectedIDs = Common.DotNetToOracle(string.Join(",", _listCurrenPage)); var lstCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(_strselectedIDs, ConstantSql.hrm_rec_sp_get_InCamDetailByLstRechisIDs, UserLogin, ref status).ToList(); if (lstCampaignDetail != null && lstCampaignDetail.Count > 0) { resultCampaignDetail.AddRange(lstCampaignDetail); } } var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (his.LevelInterview == null) his.LevelInterview = 0; if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } status = ExportService.Export(resultRecruitmentHistory, model.GetPropertyValue("ValueFields").TryGetValue<string>().Split(',')); return Json(status); }