public JsonResult employeehire(CandidateEmployeeVM model)
        {
            IRepository objrepo = new ApplicantRepository();

            objrepo.updatetohired(model.ApplicationId);
            objrepo.Save();

            var add = objrepo.AddEmployee(model.CityName, model.EmployeeName, model.Gender, model.DepartmentId, model.DateofBirth, model.Contact, model.Email, model.Address, model.PositionId);

            objrepo.Addemp(add);
            objrepo.Save();

            var add1 = objrepo.AddempDetail(add.EmployeeId, (Nullable <DateTime>)model.JoiningDate, Convert.ToDecimal(model.PosSalary));

            objrepo.Addempdetail(add1);
            objrepo.Save();

            var add2 = objrepo.Addempidinempleave(add.EmployeeId);

            objrepo.Addempidleave(add2);
            objrepo.Save();



            TempData["SuccessMessage25"] = "Success";
            return(Json(new { success = true, message = "Employee Hired" }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult updateappointstatus(CandidateEmployeeVM model)
        {
            IRepository objrepo = new ApplicantRepository();

            objrepo.statusappoint(model.ApplicationId);
            objrepo.Save();

            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Approve(CandidateEmployeeVM model)
        {
            IRepository objrepo = new ApplicantRepository();

            objrepo.Update(model.ApplicationId);
            objrepo.Save();

            bool result = false;

            result = SendEmail(model.Email, "Application Approved", " <p>Hi " + model.EmployeeName + ",<br/><br/>This is to Inform you that your Application for " + model.Position + " Position in " + model.DepartmentName + " Department has been accepted because " + model.desc + "<br/><br/>Regards " + model.CompanyName + " </p>");

            TempData["UpdateMessage00"] = "Approved Successfully";
            return(Json(new { result, success = true }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult PostStatus(CandidateEmployeeVM model, FormCollection form)
        {
            IRepository repo = new ApplicantRepository();

            var time = form["gettime"];

            repo.update4(Convert.ToInt32(model.ApplicationId), model.interviewdate);
            repo.Save();

            bool result = false;

            result = SendEmail(model.Email, "Interview", " <p>Hi " + model.EmployeeName + ",<br/><br/>This is to Inform you that you that you have been called for Interview on " + model.interviewdate + time + " at HeadOffice  for Position of " + model.Position + " Position in " + model.DepartmentName + "<br/><br/>Regards </p>");

            TempData["UpdateMessage100"] = "Mail Sent to Candidate";
            return(Json(new { result, success = true, message = "Employee Hired" }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult JoindSalary(CandidateEmployeeVM model)
        {
            IRepository objrepo             = new ApplicantRepository();
            IStructuredetailRepository repo = new StructuredetailRepository();

            var checksalarylimit = repo.Getpos().Where(x => x.BasicPay > model.Salary).FirstOrDefault();

            if (checksalarylimit != null)
            {
                objrepo.UpdateEmp(model.ApplicationId, model.JoiningDate, model.Salary);
                objrepo.Save();

                TempData["SuccessMessage25"] = "Success";
                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                TempData["ErrorMessage25"] = "Salary can not be less than " + model.PosSalary + " for Position " + model.Position + "";
                return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
            }
        }