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));
        }
示例#4
0
        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));
        }
示例#6
0
        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));
        }