public async Task <ActionResult <JobPostDTO> > PatchJobPost(long id, JobPostDTO postDTO) { JobPost post = DTOToJobPost(postDTO); if (id != post.JobPostId) { return(BadRequest()); } User user = await userManager.FindByIdAsync(User.Identity.Name); IList <string> roles = await userManager.GetRolesAsync(user); if (!roles.Contains(UserRoles.Admin)) { // check if the job post is owned by a companyt hat the recruiter is part of var query = from jobpost in _context.JobPosts join queryRecruiter in _context.Recruiters on jobpost.CompanyId equals queryRecruiter.CompanyId where jobpost.JobPostId == post.JobPostId && queryRecruiter.UserId == user.Id select jobpost; if (!query.Any()) { return(Unauthorized("You are not a recruiter for the currenet company specified in the job post")); } Recruiter recruiter = await _context.Recruiters.FindAsync(user.Id, post.CompanyId); if (recruiter == null) { return(Unauthorized("You are not a recruiter for the new company specified in the job post")); } } _context.Entry(post).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!JobPostExists(id)) { return(NotFound()); } else { throw; } } return(AcceptedAtAction("PatchJobPost", new { JobPostId = post.JobPostId }, postDTO)); }
private static JobPost DTOToJobPost(JobPostDTO postDTO) { postDTO.ClosingDate = postDTO.ClosingDate.Date.AddSeconds(86399); return(new JobPost { JobPostId = postDTO.JobPostId, CompanyId = postDTO.CompanyId, Company = null, Name = postDTO.Name, Salary = postDTO.Salary, Description = postDTO.Description, ClosingDate = postDTO.ClosingDate }); }
public IActionResult AddFirmJobPost(JobPostDTO model) { var firm = _firmService.GetFirmById(model.FirmId); if (string.IsNullOrEmpty(firm.Id)) { return(OK(StatusCodeType.FIRM_NOTFOUND, StatusMessage.FIRM_NOTFOUND, false)); } var response = _firmService.AddFirmJobPost(model); if (response == null) { return(OK(StatusCodeType.HAS_EXCEPTION, StatusMessage.HAS_EXCEPTION, false)); } return(OK(StatusCodeType.SUCCESS, StatusMessage.SUCCESS, response)); }
public ResponseJobPostDTO AddFirmJobPost(JobPostDTO jobPostDTO) { var responseJobPostDTO = new ResponseJobPostDTO(); if (jobPostDTO == null) { return(null); } var jobPost = _mapper.Map <JobPost>(jobPostDTO); _jobPostRepository.Create(jobPost); var firm = _firmRepository.Find(jobPostDTO.FirmId); firm.Result.JobPosts.Add(jobPost); _firmRepository.Update(firm.Result); responseJobPostDTO = _mapper.Map <ResponseJobPostDTO>(jobPost); return(responseJobPostDTO); }
public async Task <ActionResult <JobPostDTO> > PostJobPost(JobPostDTO postDTO) { User user = await userManager.FindByIdAsync(User.Identity.Name); IList <string> roles = await userManager.GetRolesAsync(user); JobPost post = DTOToJobPost(postDTO); if (!roles.Contains(UserRoles.Admin)) { Recruiter recruiter = await _context.Recruiters.FindAsync(user.Id, post.CompanyId); if (recruiter == null) { return(Unauthorized()); } } _context.JobPosts.Add(post); await _context.SaveChangesAsync(); return(CreatedAtAction("PostJobPost", new { JobPostId = post.JobPostId }, postDTO)); }
public static int SaveJob(JobPostDTO coachingDTO) { //if (HttpContext.Current.Session["USER"] != null) //{ // using (DBKOMPDataContext db = new DBKOMPDataContext()) // { //tblP = new JobPost(); //// int Maxid =(from w in db.Coachings select w.Id).Max() +1; //// tblP.Id = Maxid; //SetJob(coachingDTO, db, tblP); //tblP.CreatedOn = DateTime.Now; //db.JobPosts.InsertOnSubmit(tblP); #region Send mail string content = string.Empty; string filepath = "~/Email/JobPost.htm"; //New user StringBuilder sbContent = new StringBuilder(); StreamReader rdr = new StreamReader(HttpContext.Current.Server.MapPath(filepath)); string strLine = ""; while (strLine != null) { strLine = rdr.ReadLine(); if ((strLine != null) && (strLine != "")) { sbContent.Append("\n" + strLine); } } rdr.Close(); content = sbContent.ToString(); content = content.Replace("$Phone$", coachingDTO.Phone); content = content.Replace("$Name$", coachingDTO.Name); content = content.Replace("$Email$", coachingDTO.email); //content = content.Replace("$Address$", coachingDTO.Address); content = content.Replace("$cvurl$", coachingDTO.CVPath); content = content.Replace("$Category$", coachingDTO.CategoryName); //string encryptemailid = EncryptDecrypt.EncryptString(coachingDTO.email, "kota@1234"); //encryptemailid = encryptemailid.Replace("+", "_"); // string hreflnk = "http://www.kotacoaching.com/Job.aspx?rid=" + coachingDTO.email; //string Createlink = "<a href='" + hreflnk + "'>Update Profile</a> "; //content = content.Replace("$CLINK$", Createlink); content.Replace("RobotoBlack", "Arial").Replace("RobotoBold", "Arial").Replace("Roboto", "Arial"); string ownerEmailId1 = ConfigurationManager.AppSettings["OwnerEmailID1"].ToString(); MailHelper.SendMailMessage("", ownerEmailId1, string.Empty, string.Empty, "Job Posted by Visitor ", content); string ownerEmailId2 = ConfigurationManager.AppSettings["OwnerEmailID2"].ToString(); MailHelper.SendMailMessage("", ownerEmailId2, string.Empty, string.Empty, "Job Posted by Visitor", content); // MailHelper.SendMailMessage("*****@*****.**", coachingDTO.email, string.Empty, string.Empty, "Thanks for posting resume at KotaCoachaing.com", content); //MailHelper.SendMailMessage("*****@*****.**", "*****@*****.**", string.Empty, string.Empty, "Copy:Thanks for posting resume at KotaCoachaing.com", content); #endregion return(coachingDTO.Id); // } }
public int SaveJob(JobPostDTO jobPostDTO) { DBKOMPDataContext db = new DBKOMPDataContext(); return(DataAccess.DBAccess.SaveJob(jobPostDTO)); }