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;
 }
Beispiel #2
0
        //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));
        }
Beispiel #3
0
        //[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);
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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);
        }