예제 #1
0
        public ActionResult Create(RecruitmentRequestModel request, string filterType, string filterValue, int?page)
        {
            try
            {
                LoadDropDownItems();
                if (ModelState.IsValid)
                {
                    if (reqService.Exists(request.RequestNo))
                    {
                        DisplayWarningMessage("Request No. is duplicate");
                        return(View(request));
                    }
                    RecruitmentRequestDto dto = Mapper.Map <RecruitmentRequestModel, RecruitmentRequestDto>(request);
                    reqService.Create(dto);
                    DisplaySuccessMessage($"New Request ({request.RequestNo}) has been created successfully");
                    return(RedirectToAction("List", new { filterType, filterValue, page }));
                }
            }
            catch (Exception exp)
            {
                DisplayLoadErrorMessage(exp);
            }

            return(View(request));
        }
예제 #2
0
        public JsonResult Save(TemplateRecruitmentRequestEditViewModel model)
        {
            var result = new JsonResultBO(true);

            try
            {
                if (ModelState.IsValid)
                {
                    RecruitmentRequest entity = new RecruitmentRequest();
                    if (model.Id <= 0)
                    {
                        entity = new RecruitmentRequest()
                        {
                            Title            = model.Title,
                            DepartmentId     = 0,
                            PositionId       = 0,
                            EstimateQuantity = 0,
                            Comment          = String.Empty,
                            UntilDate        = DateTime.Now,
                            CreatedDate      = DateTime.Now,
                            UpdatedDate      = DateTime.Now,
                            Status           = DateTime.Now.ToShortDateString(),
                            IsTemplate       = true,
                            SkillGroups      = string.Join(",", model.SkillIds.ToArray())
                        };
                        recruitmentRequestService.Create(entity);

                        //delete all old config
                        var oldConfig = configRecruitmentRequestService.FindBy(x => x.RequestId == entity.Id);
                        configRecruitmentRequestService.DeleteRange(oldConfig);

                        //add new config
                        var lattestConfig = configRecruitmentRequestService.GetConfigByRequest(entity);
                        SQLHelper.BulkInsert <ConfigRecruitmentRequest>(lattestConfig);
                        logger.InfoFormat("Thêm mới biểu mẫu yêu cầu tuyển dụng {0}", model.Title);
                    }
                    else
                    {
                        entity             = recruitmentRequestService.GetById(model.Id);
                        entity.Title       = model.Title;
                        entity.SkillGroups = string.Join(",", model.SkillIds.ToArray());
                        recruitmentRequestService.Update(entity);

                        logger.InfoFormat("Cập nhật biểu mẫu yêu cầu tuyển dụng {0}", model.Title);
                    }
                    return(Json(result));
                }
                result.Message = ModelState.GetErrors();
                result.Status  = false;
                return(Json(result));
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = "Không cập nhật được";
                logger.Error("Lỗi cập nhật thông tin biểu mẫu yêu cầu tuyển dụng", ex);
            }
            return(Json(result));
        }
        public JsonResult Save(RecruitmentRequestEditViewModel model)
        {
            var result = new JsonResultBO(true);

            try
            {
                if (ModelState.IsValid)
                {
                    RecruitmentRequest entity = new RecruitmentRequest();
                    if (model.Id <= 0)
                    {
                        entity = new RecruitmentRequest()
                        {
                            Title            = model.Title,
                            DepartmentId     = model.DepartmentId.ToNumber <int>(),
                            PositionId       = model.PositionId.ToNumber <int>(),
                            EstimateQuantity = model.EstimateQuantity.ToNumber <int>(),
                            Comment          = model.Comment,
                            UntilDate        = model.UntilDate.Value.ToStartDay(),
                            CreatedDate      = DateTime.Now,
                            UpdatedDate      = DateTime.Now,
                            Status           = YeuCauTuyenDungTrangThaiConst.MoiTao,
                            TemplateId       = model.TemplateId != null ? model.TemplateId : null,
                            SkillGroups      = model.SkillIds != null?string.Join(",", model.SkillIds.ToArray()) : null
                        };
                        recruitmentRequestService.Create(entity);

                        //delete all old config
                        var oldConfig = configRecruitmentRequestService.FindBy(x => x.RequestId == entity.Id);
                        configRecruitmentRequestService.DeleteRange(oldConfig);

                        //add new config
                        if (!model.IsChooseFromTemplate)
                        {
                            var lattestConfig = configRecruitmentRequestService.GetConfigByRequest(entity);
                            SQLHelper.BulkInsert <ConfigRecruitmentRequest>(lattestConfig);
                        }
                        else
                        {
                            var configTemplateData = configRecruitmentRequestService.FindBy(x => x.RequestId == model.TemplateId);
                            var listConfig         = new List <ConfigRecruitmentRequest>();
                            foreach (var configTemplate in configTemplateData)
                            {
                                configTemplate.Id        = 0;
                                configTemplate.RequestId = entity.Id;
                                listConfig.Add(configTemplate);
                            }
                            SQLHelper.BulkInsert <ConfigRecruitmentRequest>(listConfig);
                        }
                        logger.InfoFormat("Thêm mới yêu cầu tuyển dụng {0}", model.Title);
                    }
                    else
                    {
                        entity                  = recruitmentRequestService.GetById(model.Id);
                        entity.Title            = model.Title;
                        entity.DepartmentId     = model.DepartmentId.ToNumber <int>();
                        entity.PositionId       = model.PositionId.ToNumber <int>();
                        entity.EstimateQuantity = model.EstimateQuantity.ToNumber <int>();
                        entity.Comment          = model.Comment;
                        entity.UntilDate        = model.UntilDate.Value.ToStartDay();
                        entity.TemplateId       = model.TemplateId != null ? model.TemplateId : null;
                        entity.SkillGroups      = model.SkillIds != null?string.Join(",", model.SkillIds.ToArray()) : null;

                        recruitmentRequestService.Update(entity);

                        logger.InfoFormat("Cập nhật yêu cầu tuyển dụng {0}", model.Title);
                    }
                    return(Json(result));
                }
                result.Message = ModelState.GetErrors();
                result.Status  = false;
                return(Json(result));
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = "Không cập nhật được";
                logger.Error("Lỗi cập nhật thông tin Module", ex);
            }
            return(Json(result));
        }