public async Task <ServiceResponse <int> > PostJobCandidates(JobCandidates jobCandidates)
        {
            var response = new ServiceResponse <int>();

            try
            {
                var jobCandidate = _context.RecruitCare.FirstOrDefault(x => x.jobid == jobCandidates.jobid && x.email == jobCandidates.email);
                if (jobCandidate != null)
                {
                    response.Message = $"Candidate already exist in Recruit care for job {jobCandidate.jobid}, Please move from  Recruit care";
                    response.Success = false;
                    return(response);
                }
                jobCandidates.createdBy   = LoggedInUser;
                jobCandidates.createdDate = DateTime.UtcNow;
                _context.JobCandidates.Add(jobCandidates);
                await _context.SaveChangesAsync();

                response.Success = true;
                response.Data    = jobCandidates.id;
                response.Message = "Added Successfully";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.InnerException != null && ex.InnerException.Message.IndexOf("duplicate") > 0 ? "Candidate already added" :   ex.Message.IndexOf("duplicate") > 0 ? "Candidate already added" : ex.Message;
            }
            return(response);
        }
        public async Task <ServiceResponse <int> > PutJobCandidates(int id, JobCandidates jobCandidates)
        {
            var response = new ServiceResponse <int>();

            try
            {
                if (id != jobCandidates.id)
                {
                    response.Success = false;
                    response.Message = "Invalid Candidate";
                    return(response);
                }

                var job = _context.JobCandidates.Find(id);
                if (job == null)
                {
                    response.Success = false;
                    response.Message = "Candidate details not found";
                    return(response);
                }

                if (User.Identity.IsAuthenticated)
                {
                    var identity = User.Identity as ClaimsIdentity;
                    if (identity != null)
                    {
                        IEnumerable <Claim> claims = identity.Claims;
                    }
                }

                jobCandidates.modifiedBy   = LoggedInUser;
                jobCandidates.modifiedDate = DateTime.UtcNow;
                _context.Entry(job).CurrentValues.SetValues(jobCandidates);
                await _context.SaveChangesAsync();

                response.Success = true;
                response.Message = "Update success";
                response.Data    = job.id;
            }
            catch (DbUpdateConcurrencyException ex)
            {
                if (!JobCandidatesExists(id))
                {
                    response.Success = false;
                    response.Message = "Invalid Candidate";
                    return(response);
                }
                else
                {
                    response.Success = false;
                    response.Message = await CustomLog.Log(ex, _context);

                    return(response);
                }
            }

            return(response);
        }