public void addnewEmployee(EmployeeViewModel modelObj)
        {
            tblEmployeesInside Newemployee = new tblEmployeesInside()
            {
                applicantId=modelObj.applicantId,
                joinedDate=modelObj.JoinedDate,
                positionId=modelObj.positionID,
                genderId=modelObj.genderId,
                timingId=modelObj.shiftId,
                StartingSalary=modelObj.StartingSalary,
                ReferenceContact=modelObj.ReferenceContact,
                ReferenceName=modelObj.ReferenceName,
                PermAddress=modelObj.PermanentAddress,
                profileImage=modelObj.ProfileImage,
                PermContact=modelObj.ContactNumber,
                TempContact=modelObj.LiscenceNumber,
                maritalId=modelObj.maritalId,
                EmployeeName=modelObj.EmployeeName,
                TempAddress = modelObj.tempAddress
                

            };
            tblListofDbforReplacement alterTableforReplacmennt = new tblListofDbforReplacement()
            {

                employeeId = modelObj.employeeId,
                Name = modelObj.EmployeeName,
                replacementId = modelObj.applicantId
            };
            entity.tblListofDbforReplacements.Add(alterTableforReplacmennt);           
            entity.tblEmployeesInsides.Add(Newemployee);
            entity.SaveChanges();

        }
 //
 // GET: /Applicant/Edit/5
 public ActionResult Edit(int id)
 {
     if (HttpContext.Session["UserId"] == null)
     {
         return RedirectToAction("Login", "Login");
     }
     EmployeeViewModel applicantModel = new EmployeeViewModel();
     
     applicantModel.genderList = dropRepo.GenderDropDown();
     applicantModel.position = dropRepo.PositionDropDown();
     applicantModel.maritalStatus = dropRepo.MaritalStatusDropDown();
     applicantModel.preferredShift = dropRepo.ShiftDrop();
     return View(applicantModel);
 }
        public EmployeeViewModel SelectedApplicant(int id)
        {
            var singleApplicant = entity.tblApplicants.Where(x => x.applicantID == id).FirstOrDefault();
            EmployeeViewModel model = new EmployeeViewModel()
            {
                applicantName = singleApplicant.Name,
                positionID = singleApplicant.positionId,
                ContactNumber = singleApplicant.contactNumber,
                genderId = singleApplicant.genderId,
                tempAddress = singleApplicant.tempAddress,

            };
            return model;


        }
        public List<EmployeeViewModel> ListOfEmployees()
        {
            var employeelistfromtable = entity.tblEmployeesInsides.ToList();
            List<EmployeeViewModel> EmployeeList = new List<EmployeeViewModel>();
            foreach(var individualEmployee in employeelistfromtable)
            {

                EmployeeViewModel Employee = new EmployeeViewModel()
                {
                    employeeId=individualEmployee.employeeId,
                    EmployeeName=individualEmployee.EmployeeName,
                    positionID=individualEmployee.positionId,
                    ProfileImage=individualEmployee.profileImage,
                    ContactNumber=individualEmployee.PermContact,
                    shiftId=individualEmployee.timingId,    

                };
                EmployeeList.Add(Employee);
            };
            return EmployeeList;

        }
 public ActionResult Create(EmployeeViewModel employeeModel)
 {
     if (HttpContext.Session["UserId"] == null)
     {
         return RedirectToAction("Login", "Login");
     }
     
     try
     {
         // TODO: Add insert logic here
         var serverpath = @"~/Images";
         string fileLocation = Path.Combine(Server.MapPath(serverpath), employeeModel.profileImageUpload.FileName);
         employeeModel.profileImageUpload.SaveAs(fileLocation);
         employeeModel.ProfileImage = employeeModel.profileImageUpload.FileName;
         employeeRepo.addnewEmployee(employeeModel);
        
         return RedirectToAction("Index","Home");
     }
     catch
     {
         return View();
     }
 }
 public ActionResult Edit(int id, EmployeeViewModel modelObj)
 {
     if (HttpContext.Session["UserId"] == null)
     {
         return RedirectToAction("Login", "Login");
     }
     try
     {
         // TODO: Add update logic here
         modelObj.applicantId = id;
         if (modelObj.profileImageUpload.FileName != null)
         {
             var serverpath = @"~/Images";
             string filelocation = Path.Combine(Server.MapPath(serverpath), modelObj.profileImageUpload.FileName);
             modelObj.profileImageUpload.SaveAs(filelocation);
             modelObj.ProfileImage = modelObj.profileImageUpload.FileName;
             employeeRepo.addnewEmployee(modelObj);
         }
         else
         {
             modelObj.ProfileImage = "no image";
         }
         return RedirectToAction("Index","Employee");
     }
     catch
     {
         return View();
     }
 }
        public ActionResult AddEmployee(EmployeeViewModel modelObj, int id)
        {
            if (HttpContext.Session["UserId"] == null)
            {
                return RedirectToAction("Login", "Login");
            }
            modelObj.applicantId = id;
            var serverpath = @"~/Images";
            string filelocation = Path.Combine(Server.MapPath(serverpath), modelObj.profileImageUpload.FileName);
            modelObj.profileImageUpload.SaveAs(filelocation);
            modelObj.ProfileImage = modelObj.profileImageUpload.FileName;
            employeeRepo.addnewEmployee(modelObj);
            return RedirectToAction("Index", "Employee");


        }
 public ActionResult AddEmployee(int id)
 {
     if (HttpContext.Session["UserId"] == null)
     {
         return RedirectToAction("Login", "Login");
     }
     EmployeeViewModel EmployeeModel = new EmployeeViewModel();
     EmployeeModel.position = dropRepo.PositionDropDown();
     EmployeeModel.preferredShift = dropRepo.ShiftDrop();
     EmployeeModel.genderList = dropRepo.GenderDropDown();
     EmployeeModel.maritalStatus = dropRepo.MaritalStatusDropDown();            
     var applicantDetail = employeeRepo.SelectedApplicant(id);
     EmployeeModel.applicantName = applicantDetail.applicantName;
     EmployeeModel.shiftId = applicantDetail.shiftId;
     EmployeeModel.positionID = applicantDetail.positionID;
     EmployeeModel.ContactNumber = applicantDetail.ContactNumber;
     EmployeeModel.applicantId = applicantDetail.applicantId;
     EmployeeModel.tempAddress = applicantDetail.tempAddress;
     EmployeeModel.EmployeeName = applicantDetail.applicantName;
     return View(EmployeeModel);
 }