// To retrieve all the candidates along with their test status
        public List <ICandidate_Test> getCandidates_Test()
        {
            List <ICandidate_Test> lstCandidateTest = new List <ICandidate_Test>();
            SqlCommand             myCommand;
            SqlConnection          myConnection = DBUtility.getConnection();

            try
            {
                using (myConnection)
                {
                    myCommand             = new SqlCommand("SP_getCandidates_Test", myConnection);
                    myCommand.CommandType = CommandType.StoredProcedure;
                    myConnection.Open();
                    SqlDataReader objSqlDataReader = myCommand.ExecuteReader();
                    while (objSqlDataReader.Read())
                    {
                        int      get_CandidateProfileID = Convert.ToInt32(objSqlDataReader["CandidateProfileID"]);
                        int      get_VacancyID          = Convert.ToInt32(objSqlDataReader["VacancyID"]);
                        DateTime get_DOB    = Convert.ToDateTime(objSqlDataReader["DOB"]);
                        string   get_Gender = Convert.ToString(objSqlDataReader["Gender"]);

                        int get_TestID     = Convert.ToInt32(objSqlDataReader["TestID"]);
                        int get_TestStatus = Convert.ToInt32(objSqlDataReader["TestStatus"]);

                        DateTime get_HRInterviewDate        = Convert.ToDateTime(objSqlDataReader["HRInterviewDate"]);
                        DateTime get_TechnicalInterviewDate = Convert.ToDateTime(objSqlDataReader["TechnicalInterviewDate"]);
                        DateTime get_WrittenTestDate        = Convert.ToDateTime(objSqlDataReader["WrittenTestDate"]);

                        ICandidate_Test objCandidateTest = Candidate_TestFactory.create_Candidate_Test(get_VacancyID, get_CandidateProfileID, get_DOB, get_Gender, get_TestID, get_TestStatus, get_WrittenTestDate, get_TechnicalInterviewDate, get_HRInterviewDate);
                        lstCandidateTest.Add(objCandidateTest);
                    }
                    objSqlDataReader.Close();
                }
                return(lstCandidateTest);
            }
            catch (Exception EE)
            {
                Console.WriteLine(EE);
                Console.Read();
                return(null);
            }
            finally
            {
                myConnection.Close();
            }
        }
 public static ICandidate_Test create_Candidate_Test(int VacancyID, int CandidateProfileID, DateTime DOB, String Gender, int TestID, int TestStatus, DateTime WrittenTestDate, DateTime TechnicalInterviewDate, DateTime HRInterviewDate)
 {
     objCandidateTest = new Candidate_Test(VacancyID, CandidateProfileID, DOB, Gender, TestID, TestStatus, WrittenTestDate, TechnicalInterviewDate, HRInterviewDate);
     return(objCandidateTest);
 }