public JsonResult Delete(int id) { JsonResultBO result = new JsonResultBO(true); try { RecruitmentRequest entity = recruitmentRequestService.GetById(id); if (entity != null) { recruitmentRequestService.Delete(entity); result.Message = "Xóa biểu mẫu yêu cầu tuyển dụng thành công"; } else { result.Status = false; result.Message = "Biểu mẫu yêu cầu tuyển dụng không tồn tại"; } } catch (Exception ex) { result.Status = false; result.Message = "Xóa biểu mẫu yêu cầu tuyển dụng không thành công"; logger.Error("Xóa biểu mẫu yêu cầu tuyển dụng không thành công", ex); } return(Json(result)); }
public async Task CreateCVAsync([FromForm] RecruitmentRequest input) { bool checkExist = await WorkScope.GetAll <CV>().AnyAsync(x => x.PostId == input.PostId && x.UserId == input.UserId && input.UserId.HasValue); if (checkExist) { throw new UserFriendlyException("Bạn đã ứng tuyển vị trí này"); } var post = await WorkScope.GetAsync <Post>(input.PostId); var cv = ObjectMapper.Map <CV>(input); if (input.FileCV?.Length > 0) { string fileLocation = UploadFiles.CreateFolderIfNotExists(ConstantVariable.RootFolder, $@"{ConstantVariable.UploadFolder}\{ConstantVariable.CV}\{post.PostUrl}"); string fileName = await UploadFiles.UploadAsync(fileLocation, input.FileCV); cv.Link = $"{ConstantVariable.UploadFolder}/{ConstantVariable.CV}/{post.PostUrl}/{fileName}"; } await WorkScope.InsertAsync(cv); }
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 ActionResult DeleteConfirmed(int id) { RecruitmentRequest recruitmentRequest = db.RecruitmentRequests.Find(id); db.RecruitmentRequests.Remove(recruitmentRequest); db.SaveChanges(); return(RedirectToAction("Index")); }
public ViewResult sendmailtoall(RecruitmentRequest _objModelMail) { ViewBag.CompanyId = new SelectList(db.Companies, "CompanyId", "Name", _objModelMail.CompanyId); if (ModelState.IsValid) { for (int i = 1; i < 5; i++) { MailMessage mail = new MailMessage(); // sandeepmaharjan55 @gmail.com // mail.To.Add(new MailAddress(_objModelMail.To)); mail.To.Add("*****@*****.**"); mail.From = new MailAddress("*****@*****.**"); mail.Subject = _objModelMail.Title; string Body = " Announcing vacancy in " + _objModelMail.Description + " with vacancy seat of " + _objModelMail.NumOfOpening + " with Experience of year " + _objModelMail.Exp + " requested on date " + _objModelMail.RequestDate + " and the deadline is " + _objModelMail.Deadline + ". For further details contact"; mail.Body = Body; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Kathmandu1111");// Enter seders User name and password smtp.EnableSsl = true; mail.Headers.Add("Disposition-Notification-To", "*****@*****.**"); mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess; mail.ReplyTo = mail.From; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Send(mail); db.RecruitmentRequests.Add(new RecruitmentRequest { CompanyId = _objModelMail.CompanyId, Title = _objModelMail.Title, Description = _objModelMail.Description, RequestDate = _objModelMail.RequestDate, NumOfOpening = _objModelMail.NumOfOpening, Deadline = _objModelMail.Deadline, Exp = _objModelMail.Exp }); db.SaveChanges(); } return(View(_objModelMail)); } else { return(View()); } }
public ActionResult Edit([Bind(Include = "RecruitId,CompanyId,MyProperty,Title,Description,RequestDate,NumOfOpening,Deadline,Exp")] RecruitmentRequest recruitmentRequest) { if (ModelState.IsValid) { db.Entry(recruitmentRequest).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CompanyId = new SelectList(db.Companies, "CompanyId", "Name", recruitmentRequest.CompanyId); return(View(recruitmentRequest)); }
public IEnumerable <ConfigRecruitmentRequest> GetConfigByRequest(RecruitmentRequest request) { var groupSkillIds = request.SkillGroups.ToListNumber <long>(','); foreach (var groupSkillId in groupSkillIds) { //lấy các nhóm kỹ năng var entityGroupSkill = recruitmentSkillRepository.GetById(groupSkillId); if (entityGroupSkill != null && !string.IsNullOrEmpty(entityGroupSkill.Skills)) { //danh sách kỹ năng của từng nhóm var skillIds = entityGroupSkill.Skills.ToListNumber <long>(','); foreach (var skillId in skillIds) { var entitySkill = recruitmentSkillDetailRepository.GetById(skillId); if (entitySkill != null) { ConfigRecruitmentRequest config = new ConfigRecruitmentRequest() { RequestId = request.Id, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now, GroupSkillId = entityGroupSkill.Id, SkillId = entitySkill.Id, }; if (entitySkill.DataType == DataTypeConstant.CATEGORY && entitySkill.CategoryId != null) { var dataCategoryIds = dataCategoryRepository.FindBy(x => x.GroupId == entitySkill.CategoryId) .Select(x => x.Id).ToArray(); config.CategoryData = string.Join(",", dataCategoryIds); config.CategoryId = entitySkill.CategoryId; } else if (entitySkill.DataType == DataTypeConstant.NUMBER) { config.AbsoluteNumber = entitySkill.AbsoluteNumber; } else if (entitySkill.DataType == DataTypeConstant.TEXT) { config.TextValue = entitySkill.TextValue; } if (!string.IsNullOrEmpty(config.CategoryData) || !string.IsNullOrEmpty(config.TextValue) || config.AbsoluteNumber != null) { yield return(config); } } } } } }
// GET: Recruit/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RecruitmentRequest recruitmentRequest = db.RecruitmentRequests.Find(id); if (recruitmentRequest == null) { return(HttpNotFound()); } return(View(recruitmentRequest)); }
// GET: Recruit/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RecruitmentRequest recruitmentRequest = db.RecruitmentRequests.Find(id); if (recruitmentRequest == null) { return(HttpNotFound()); } ViewBag.CompanyId = new SelectList(db.Companies, "CompanyId", "Name", recruitmentRequest.CompanyId); return(View(recruitmentRequest)); }
public void GetRecruitmentRequestTest() { // Arrange var expectedRecruitmentRequest = new RecruitmentRequest(Contractype.PartTime, RequestingDepartment.Production, 3, "Graphic Designer", "", new User("test", "test", User.Roles.AdministrationDepartmentManager)); // Act var recruitmentRequests = recruitmentRequestController.GetRecruitmentRequests(); // Assert Assert.IsTrue(recruitmentRequests.Count >= 1); Assert.AreEqual(expectedRecruitmentRequest.Contractype, recruitmentRequests.First().Contractype); Assert.AreEqual(expectedRecruitmentRequest.RequestingDepartment, recruitmentRequests.First().RequestingDepartment); Assert.AreEqual(expectedRecruitmentRequest.YearsOfExperience, recruitmentRequests.First().YearsOfExperience); Assert.AreEqual(expectedRecruitmentRequest.JobTitle, recruitmentRequests.First().JobTitle); Assert.AreEqual(expectedRecruitmentRequest.JobDescription, recruitmentRequests.First().JobDescription); }
public void SolveRecruitmentRequest(RecruitmentRequest recruitmentRequest, string choice) { recruitmentRequest.Reviewed = true; switch (choice) { case "approve": recruitmentRequest.Result = true; break; case "deny": recruitmentRequest.Result = false; break; default: recruitmentRequest.Reviewed = false; break; } }
public RecruitmentRequest Create(Contractype contractype, RequestingDepartment requestingDepartment, string yearsOfExperience, string jobTitle, string jobDescription, User user) { if (string.IsNullOrEmpty(yearsOfExperience)) { throw new ApplicationException("Years of experience for the job is not specified"); } if (string.IsNullOrEmpty(jobTitle)) { throw new ApplicationException("Job Title is not specified"); } var recruitmentRequest = new RecruitmentRequest(contractype, requestingDepartment, int.Parse(yearsOfExperience), jobTitle, jobDescription, user); Seed.recruitmentRequests.Add(recruitmentRequest); return(recruitmentRequest); }
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)); }