public ActionResult VerifyLeave()
        {
            var profile = (AdminProfileViewModel)(Session["EmployeeObj"]);

            if (profile.IsSpecialPermission == true)
            {
                List <RequestVacationViewModel> leaveRequest = new List <RequestVacationViewModel>();

                leaveRequest = leaveRequestService.GetAllRequestVacation();

                List <RequestVacationViewModel> leaveRequestForHR = new List <RequestVacationViewModel>();

                foreach (var item in  leaveRequest)
                {
                    if (item.LeaveStatus == "Pending")
                    {
                        leaveRequestForHR.Add(item);
                    }
                }
                foreach (var item in leaveRequestForHR)
                {
                    var employee = employeeService.GetEmployeeByID(item.CreatedBy);
                    item.RequesterName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
                    var vacationType = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);
                    item.VacationName = vacationType.VacationName;
                    int designationId = employee.DesignationID;
                    var designation   = designationService.GetDesignationByDesignationID(designationId);
                    item.RequesterDesignation = designation.DesignationName;
                    var departmentObj = departmentService.GetDepartmentByDepartmentID(employee.DepartmentID);
                    item.RequesterDepartment = departmentObj.DepartmentName;
                    //item.ApproverID = profile.EmployeeID;
                }
                return(View(leaveRequestForHR));
            }
            if (profile.IsVirtualTeamHead == true)
            {
                List <RequestVacationViewModel> leaveRequestForVT = new List <RequestVacationViewModel>();

                var leaveRequest = leaveRequestService.GetAllRequestVacation();
                foreach (var item in leaveRequest)
                {
                    int requesterEmpId  = item.CreatedBy;
                    var employeeDetails = employeeService.GetEmployeeByID(requesterEmpId);
                    if (employeeDetails.DepartmentID == profile.DepartmentID && item.LeaveStatus == "Pending")
                    {
                        leaveRequestForVT.Add(item);
                    }
                }
                foreach (var item in leaveRequestForVT)
                {
                    var employee = employeeService.GetEmployeeByID(item.CreatedBy);
                    item.RequesterName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
                    var vacationType = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);
                    item.VacationName = vacationType.VacationName;
                    int designationId = employee.DesignationID;
                    var designation   = designationService.GetDesignationByDesignationID(designationId);
                    item.RequesterDesignation = designation.DesignationName;
                    var departmentObj = departmentService.GetDepartmentByDepartmentID(employee.DepartmentID);
                    item.RequesterDepartment = departmentObj.DepartmentName;
                    //item.ApproverID = profile.EmployeeID;
                }
                return(View(leaveRequestForVT));
            }
            else
            {
                int employeeId = profile.EmployeeID;
                List <RequestVacationViewModel> requestVacation = leaveRequestService.GetLeaveRequestByApproveId(employeeId);

                foreach (var item in requestVacation)
                {
                    AdminProfileViewModel profileViewModel = employeeService.GetEmployeeByID(item.CreatedBy);

                    item.RequesterName = profileViewModel.FirstName + " " + profileViewModel.MiddleName + " " + profileViewModel.LastName;

                    DesignationViewModel designation = designationService.GetDesignationByDesignationID(profileViewModel.DesignationID);

                    item.RequesterDesignation = designation.DesignationName;

                    DepartmentViewModel departmentViewModel = departmentService.GetDepartmentByDepartmentID(profileViewModel.DepartmentID);

                    item.RequesterDepartment = departmentViewModel.DepartmentName;

                    VacationTypeViewModel vacationTypeViewModel = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);

                    item.VacationName = vacationTypeViewModel.VacationName;
                }
                TempData["RequestVacation"] = requestVacation;

                return(View(requestVacation));
            }
        }