public void Updatejobsdata(UsersJob UJ)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                //db.Database.Connection.Open();
                //using (var dbcontexttransection = db.Database.Connection.BeginTransaction())
                //{
                //    try
                //    {
                COMPANY_JOB_OPENING CJO = db.COMPANY_JOB_OPENING.Find(UJ.DepatmentID);
                CJO.DepartmentName           = UJ.DepartmentName;
                CJO.RequestedBy              = UJ.RequestedBy;
                CJO.Name_of_Vacancy          = UJ.Name_of_Vacancy;
                CJO.Number_of_Position       = UJ.Number_of_Position;
                CJO.Required_Technical_Skill = UJ.Required_Technical_Skill;
                CJO.Special_Technical_Skill  = UJ.Special_Technical_Skill;
                CJO.Min_Yearof_Experience    = UJ.Min_Yearof_Experience;
                CJO.Min_Qualification        = UJ.Min_Qualification;
                CJO.Deadline_Date            = UJ.Deadline_Date;
                db.SaveChanges();


                //    dbcontexttransection.Commit();
                //}
                //catch
                //{
                //    dbcontexttransection.Rollback();
                //}

                //}
            }
        }
 //@@@@@@@********************* approval jobs
 public void approvaljob(UsersJob UJ)
 {
     using (RecrutmentsysEntities db = new RecrutmentsysEntities())
     {
         COMPANY_JOB_OPENING CJO = db.COMPANY_JOB_OPENING.Find(UJ.DepatmentID);
         CJO.Approval = UJ.Approval_admin;
         db.SaveChanges();
     }
 }
        //Add candidate feedback for position
        public void addcandidatefeedbackposition(candidatefeedback CF)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                CANDIDATE_POSITION          cp  = db.CANDIDATE_POSITION.Where(o => o.CandidateCode == CF.candidatecode).FirstOrDefault();
                CANDIDATE_FEEDBACK_POSITION cfp = new CANDIDATE_FEEDBACK_POSITION();
                cfp.CandidateCode     = cp.CandidateCode;
                cfp.CandidateEmail    = cp.CandidateEmail;
                cfp.Candidate_Yof_exp = cp.Candidate_Yof_exp;
                cfp.CompanyId         = cp.CompanyId;
                cfp.DepartmentCode    = cp.DepartmentCode;

                COMPANY_JOB_OPENING cjo = db.COMPANY_JOB_OPENING.Where(o => o.DepartmentCode == cp.DepartmentCode).FirstOrDefault();
                cfp.DepartmentName           = cjo.DepartmentName;
                cfp.RequestedBy              = cjo.RequestedBy;
                cfp.HrId                     = cjo.HrId;
                cfp.HrEmail                  = cjo.HrEmail;
                cfp.Name_of_Vacancy          = cjo.Name_of_Vacancy;
                cfp.Number_of_Position       = cjo.Number_of_Position;
                cfp.Required_Technical_Skill = cjo.Required_Technical_Skill;
                cfp.Special_Technical_Skill  = cjo.Special_Technical_Skill;
                cfp.Min_Yearof_Experience    = cjo.Min_Yearof_Experience;
                cfp.Min_Qualification        = cjo.Min_Qualification;
                cfp.Deadline_Date            = cjo.Deadline_Date;
                cfp.Requested_Date           = cjo.Requested_Date;
                cfp.RoundingPercentage       = CF.rounding_percent;
                cfp.OfferLatter              = "No";
                cfp.Feedbackprocess          = false;

                db.CANDIDATE_FEEDBACK_POSITION.Add(cfp);
                db.SaveChanges();

                Round_Detail_feedback rdf = new Round_Detail_feedback();
                rdf.CompanyId      = cfp.CompanyId;
                rdf.CandidateCode  = cfp.CandidateCode;
                rdf.DepartmentCode = cfp.DepartmentCode;
                rdf.HrId           = cfp.HrId;
                rdf.RoundOne       = CF.round1;
                rdf.RoundOne_per   = CF.round1P;
                rdf.RoundTwo       = CF.round2;
                rdf.RoundTwo_per   = CF.round2P;
                rdf.RoundThree     = CF.round3;
                rdf.RoundThree_per = CF.round3P;
                rdf.totalround_per = CF.rounding_percent;

                db.Round_Detail_feedback.Add(rdf);
                db.SaveChanges();

                CANDIDATE_POSITION canp = db.CANDIDATE_POSITION.Find(cp.CandidateId);
                canp.ISActive = false;
                db.SaveChanges();
            }
        }
        public void candidate()
        {
            string loginname = HttpContext.User.Identity.Name;

            RecrutmentsysEntities db = new RecrutmentsysEntities();

            var id   = db.COMPANY_HR_REGISTER.Where(o => o.HrEmail == loginname);
            int hrid = id.FirstOrDefault().HrId;
            List <COMPANY_JOB_OPENING> objdeptcode = (from data in db.COMPANY_JOB_OPENING
                                                      where data.HrId == hrid && data.Approval == true
                                                      select data).ToList();
            COMPANY_JOB_OPENING cjo = new COMPANY_JOB_OPENING();

            cjo.DepartmentCode = "Select";
            objdeptcode.Insert(0, cjo);
            ViewBag.obj1 = new SelectList(objdeptcode, "DepartmentCode", "DepartmentCode", 0);
        }
 public void addcandidateposition(candidatepostion CP, string code)
 {
     using (RecrutmentsysEntities db = new RecrutmentsysEntities())
     {
         COMPANY_JOB_OPENING data = db.COMPANY_JOB_OPENING.Where(o => o.DepartmentCode == code).FirstOrDefault();
         if (data != null)
         {
             CANDIDATE_POSITION CANP = new CANDIDATE_POSITION();
             CANP.CompanyId         = data.CompanyId;
             CANP.DepartmentCode    = data.DepartmentCode;
             CANP.DepartmentName    = data.DepartmentName;
             CANP.HrId              = data.HrId;
             CANP.CandidateEmail    = CP.email;
             CANP.Candidate_Yof_exp = CP.year_of_experience;
             CANP.ISActive          = false;
             db.CANDIDATE_POSITION.Add(CANP);
             db.SaveChanges();
         }
     }
 }
        // far to the new job opening

        public void AddnewjobIsopen(NewJobView NJV, string Loginname)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                COMPANY_HR_REGISTER CHR = db.COMPANY_HR_REGISTER.Where(o => o.HrEmail.Equals(Loginname)).FirstOrDefault();
                COMPANY_JOB_OPENING CJO = new COMPANY_JOB_OPENING();
                CJO.CompanyId                = Convert.ToInt32(CHR.CompanyId);
                CJO.HrId                     = CHR.HrId;
                CJO.DepartmentName           = NJV.DepartmentName;
                CJO.RequestedBy              = NJV.RequestedBy;
                CJO.HrEmail                  = Loginname;
                CJO.Name_of_Vacancy          = NJV.Name_of_Vacancy;
                CJO.Number_of_Position       = NJV.Number_of_Position;
                CJO.Required_Technical_Skill = NJV.Required_Technical_Skill;
                CJO.Special_Technical_Skill  = NJV.Special_Technical_Skill;
                CJO.Min_Yearof_Experience    = NJV.Min_Yearof_Experience;
                CJO.Min_Qualification        = NJV.Min_Qualification;
                CJO.Deadline_Date            = NJV.Deadline_Date;
                CJO.Requested_Date           = DateTime.Now;
                CJO.Approval                 = false;

                db.COMPANY_JOB_OPENING.Add(CJO);
                db.SaveChanges();

                COMPANY_JOB_OPENING_REFRENCES CJOR = new COMPANY_JOB_OPENING_REFRENCES();
                CJOR.CompanyId          = CJO.CompanyId;
                CJOR.HrId               = CJO.HrId;
                CJOR.DepartmentCode     = Convert.ToString(CJO.DepartmentCode);
                CJOR.Number_of_Position = CJO.Number_of_Position;
                CJOR.RowcreatedDate     = DateTime.Now;
                CJOR.RowModifiddate     = DateTime.Now;

                db.COMPANY_JOB_OPENING_REFRENCES.Add(CJOR);
                db.SaveChanges();
            }
        }