// To delete test administrator
        public int DeleteTestAdministrator(int del_admin_id)
        {
            ITestAdministratorDB objTestAdministratorDB = TestAdministratorDBFactory.Create_TestAdminDB();


            return(objTestAdministratorDB.DeleteTestAdministrators(del_admin_id));
        }
        // To retrieve all approved Test Administrators
        public List <ITestAdministrator> DisplayTestAdministrators()
        {
            List <ITestAdministrator> temp_testAdmin = new List <ITestAdministrator>();

            ITestAdministratorDB objTestAdministratorDB = TestAdministratorDBFactory.Create_TestAdminDB();

            temp_testAdmin = objTestAdministratorDB.getTestAdministrators();
            List <ITestAdministrator> list = new List <ITestAdministrator>();

            for (int i = 0; i < temp_testAdmin.Count; i++)
            {
                if (temp_testAdmin.ElementAt(i).get_IsTestAdmin == true)
                {
                    list.Add(temp_testAdmin.ElementAt(i));
                }
            }

            return(list);
        }
        // To approve test administrator

        public List <ITestAdministrator> ApproveTestAdministrators(int intUserid)
        {
            List <ITestAdministrator> temp_testAdmin = new List <ITestAdministrator>();

            List <IEmployee> listtepemployee = new List <IEmployee>();
            IEmployeeDB      objempdb        = EmployeeDBFactory.Create_EmployeeDB();

            listtepemployee = objempdb.List_Employees();

            ITestAdministratorDB objTestAdministratorDB = TestAdministratorDBFactory.Create_TestAdminDB();

            temp_testAdmin = objTestAdministratorDB.getTestAdministrators();

            List <ITestAdministrator> objtemplist = new List <ITestAdministrator>();

            for (int i = 0; i < listtepemployee.Count; i++)
            {
                int t = 0;
                try
                {
                    t = Convert.ToInt32(listtepemployee.ElementAt(i).get_UnitHeadID);
                }
                catch (Exception)
                {
                    t = 0;
                }
                for (int j = 0; j < temp_testAdmin.Count; j++)
                {
                    if (t == intUserid && listtepemployee.ElementAt(i).get_EmployeeID == temp_testAdmin.ElementAt(j).get_EmployeeID)
                    {
                        if (temp_testAdmin.ElementAt(j).get_IsTestAdmin == false)
                        {
                            objtemplist.Add(temp_testAdmin.ElementAt(j));
                        }
                    }
                }
            }

            return(objtemplist);
        }
        // To add Test Administrator
        public int addtestadmin(int EmployeeID)
        {
            TestAdministratorManager objTestAdminManager = new TestAdministratorManager();

            listemployee();


            if (EmployeeList.Any(p => p.get_EmployeeID == EmployeeID && p.get_Designation == "unithead"))
            {
                ITestAdministrator   objTestAdministrator = TestAdministratorFactory.Create_TestAdministrator(EmployeeID, true);
                ITestAdministratorDB testadministratorDB  = TestAdministratorDBFactory.Create_TestAdminDB();
                return(testadministratorDB.Save(objTestAdministrator));
            }
            else if (EmployeeList.Any(p => p.get_EmployeeID == EmployeeID && p.get_Designation == "employee"))
            {
                ITestAdministrator   objTestAdministrator = TestAdministratorFactory.Create_TestAdministrator(EmployeeID, false);
                ITestAdministratorDB test_adminDB         = TestAdministratorDBFactory.Create_TestAdminDB();
                return(test_adminDB.Save(objTestAdministrator));
            }
            else
            {
                return(0);
            }
        }
        // to retrieve all  Test administrators
        public List <ITestAdministrator> getTestAdministrator()
        {
            ITestAdministratorDB objTestAdministratorDB = TestAdministratorDBFactory.Create_TestAdminDB();

            return(objTestAdministratorDB.GetList());
        }
        // To update test administrator
        public int UpdateTestAdministrator(int EmployeeID)
        {
            ITestAdministratorDB objTestAdministratorDB = TestAdministratorDBFactory.Create_TestAdminDB();

            return(objTestAdministratorDB.Approve(EmployeeID));
        }