public Result LoadQuestionsForACandidateInExam(CandidateForExam oCandidateForExam) { //new CLogger("Start LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug); Result oResult = new Result(); CandidateExamProcessDAO oCandidateExamProcessDAO = new CandidateExamProcessDAO(); try { oResult = oCandidateExamProcessDAO.LoadQuestionsForACandidateInExam(oCandidateForExam); } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Question Load For an Exam.."; oResult.ResultException = oEx; //new CLogger("Exception LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug, oEx); } //new CLogger("Out LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug); return oResult; }
public Result CandidateSetup(CandidateForExam oCandidateForExam) { //new CLogger("Start CandidateSetup CandidateBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start CandidateSetup CandidateBO+BO", ELogLevel.Debug); Result oResult = new Result(); try { CandidateDAO oCategoryDAO = new CandidateDAO(); oResult = oCategoryDAO.CandidateSetup(oCandidateForExam); } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "Exception occured during Candidate Setup.."; //new CLogger("Exception CandidateSetup CandidateBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception CandidateSetup CandidateBO+BO", ELogLevel.Debug, oEx); } //new CLogger("Out CandidateSetup CandidateBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out CandidateSetup CandidateBO+BO", ELogLevel.Debug); ; return oResult; }
public Result LoadQuestionsForACandidateInExamByCategoryAndType(Category oCategory, QuestionType oQuestionType, CandidateForExam oCandidateForExam) { Result oResult = new Result(); CandidateExamProcessDAO oCandidateExamProcessDAO = new CandidateExamProcessDAO(); try { oResult = oCandidateExamProcessDAO.LoadQuestionsForACandidateInExamByCategoryAndType(oCategory, oQuestionType, oCandidateForExam); } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Question Load by Category & Type For an Exam.."; oResult.ResultException = oEx; } return oResult; }
public Result SaveCandidateAnswers(CandidateForExam oCandidateForExam) { //new CLogger("Start SaveCandidateAnswers CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start SaveCandidateAnswers CandidateExamProcessBO+BO", ELogLevel.Debug); Result oResult = new Result(); CandidateExamProcessDAO oCandidateExamProcessDAO = new CandidateExamProcessDAO(); try { oResult = oCandidateExamProcessDAO.SaveCandidateAnswers(oCandidateForExam); } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Questions Save for Candidate.."; oResult.ResultException = oEx; //new CLogger("Exception SaveCandidateAnswers CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception SaveCandidateAnswers CandidateExamProcessBO+BO", ELogLevel.Debug, oEx); } //new CLogger("Out SaveCandidateAnswers CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out SaveCandidateAnswers CandidateExamProcessBO+BO", ELogLevel.Debug); return oResult; }
/// <summary> /// This Method Load Question Categories With Type of an exam For A Candidate. /// For example: (Category: Math,IQ,English,etc...) (Only Two Type: Objective, Descriptive) /// </summary> /// <param name="oCandidateForExam"> It takes CandidateForExam Object </param> /// <returns> It returns Result Object </returns> public Result LoadCategoriesWithType(CandidateForExam oCandidateForExam) { //new CLogger("Start LoadCategoriesWithType CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start LoadCategoriesWithType CandidateExamProcessDAO+DAO", ELogLevel.Debug); logger.Info("Start LoadCategoriesWithType CandidateExamProcessDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); SqlDataReader oSqlDataReader = null; String sSelect = String.Empty; List<CandidateMenu> oListCandidateMenu = new List<CandidateMenu>(); try { sSelect = "select distinct EX_Category.CategoryID, EX_Category.CategoryName from" +" EX_Category inner join EX_Question on EX_Category.CategoryID=EX_Question.QuestionCategoryID" +" inner join EX_QuestionGeneration on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID" + " where EX_QuestionGeneration.ExamID='" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "'" +" order by EX_Category.CategoryID asc"; oSqlDataReader = oDAOUtil.GetReader(sSelect); while (oSqlDataReader.Read()) { CandidateMenu oCandidateMenu = new CandidateMenu(); oCandidateMenu.CandidateMenuCategory.CategoryID = int.Parse(oSqlDataReader["CategoryID"].ToString()); oCandidateMenu.CandidateMenuCategory.CategoryName = oSqlDataReader["CategoryName"].ToString(); oListCandidateMenu.Add(oCandidateMenu); } oSqlDataReader.Close(); foreach (CandidateMenu oCandidateMenuInList in oListCandidateMenu) { sSelect = "select distinct EX_QuestionType.TypeID, EX_QuestionType.TypeName" +" from EX_QuestionType inner join EX_Question on EX_QuestionType.TypeID=EX_Question.QuestionTypeID" + " inner join EX_QuestionGeneration on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID where EX_QuestionGeneration.ExamID='" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "' and EX_Question.QuestionCategoryID ='" + oCandidateMenuInList.CandidateMenuCategory.CategoryID + "' order by EX_QuestionType.TypeID asc"; List<QuestionType> oListQuestionType = new List<QuestionType>(); oSqlDataReader = oDAOUtil.GetReader(sSelect); while (oSqlDataReader.Read()) { QuestionType oQuestionType = new QuestionType(); oQuestionType.QuestionTypeID = int.Parse(oSqlDataReader["TypeID"].ToString()); oQuestionType.QuestionTypeName = oSqlDataReader["TypeName"].ToString(); oListQuestionType.Add(oQuestionType); } oSqlDataReader.Close(); foreach (QuestionType oQuestionTypeInList in oListQuestionType) { sSelect = "select count(EX_Question.QuestionID) as TotalQuestions from EX_Question inner join EX_QuestionGeneration on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID where EX_QuestionGeneration.ExamID='" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "' and EX_Question.QuestionCategoryID ='" + oCandidateMenuInList.CandidateMenuCategory.CategoryID + "' and EX_Question.QuestionTypeID='" + oQuestionTypeInList.QuestionTypeID + "'"; oQuestionTypeInList.QuestionTypeTotalQuestions = int.Parse(oDAOUtil.GetExecuteScalar(sSelect).ToString()); } oCandidateMenuInList.CandidateMenuCategoryQuestionType = oListQuestionType; } oResult.ResultObject = oListCandidateMenu; oResult.ResultMessage = "Candidate Menu Category with type Load Success..."; oResult.ResultIsSuccess = true; } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Candidate Menu Category with type Load for Candidate..."; oResult.ResultException = oEx; logger.Info("Exception LoadCategoriesWithType CandidateExamProcessDAO+DAO", oEx); //new CLogger("Exception LoadCategoriesWithType CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception LoadCategoriesWithType CandidateExamProcessDAO+DAO", ELogLevel.Debug, oEx); } finally { if (oSqlDataReader!=null && !oSqlDataReader.IsClosed) { oSqlDataReader.Close(); } } //new CLogger("Out LoadCategoriesWithType CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out LoadCategoriesWithType CandidateExamProcessDAO+DAO", ELogLevel.Debug); ; logger.Info("End LoadCategoriesWithType CandidateExamProcessDAO+DAO"); return oResult; }
/// <summary> /// This Method save all answers of questions for an exam. /// This method is called when a candidate finish an exam /// </summary> /// <param name="oCandidateForExam"> It takes CandidateForExam Object </param> /// <returns> It returns Result Object </returns> public Result SaveCandidateAnswers(CandidateForExam oCandidateForExam) { //new CLogger("Start SaveCandidateAnswers CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start SaveCandidateAnswers CandidateExamProcessDAO+DAO", ELogLevel.Debug); logger.Info("Start SaveCandidateAnswers CandidateExamProcessDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); String sInsert = String.Empty; String sDesOrObj = String.Empty; List<String> oListString = new List<String>(); try { foreach (CandidateAnswerQuestion oCandidateAnswerQuestion in oCandidateForExam.CadidateCandidateExam.CandidateAnsweredQuestions) { if (oCandidateAnswerQuestion.QuestionForCandidateAnswer.QuestionQuestionType.QuestionTypeID == 0) { sDesOrObj = "Objective@"; foreach (Choice oChoice in oCandidateAnswerQuestion.QuestionForCandidateAnswer.QuestionObjectiveType.ListOfChoices) { sDesOrObj = sDesOrObj + oChoice.ChoiceIsValid.ToString()+":"; } } else { sDesOrObj = "Descriptive@"+oCandidateAnswerQuestion.DescriptiveQuestionAnswerText+":"; } sInsert = "insert into EX_CandidateExam(ExamID,QuestionID,CandidateID,AnswerStringOrBits,AnswerAttachmentPath) values('" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "','" + oCandidateAnswerQuestion.QuestionForCandidateAnswer.QuestionID + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID + "','" + sDesOrObj + "','" + oCandidateAnswerQuestion.sAnswerAttachFilePath + "')"; oListString.Add(sInsert); } if (oDAOUtil.ExecuteNonQuery(oListString)) { oResult.ResultIsSuccess = true; oResult.ResultObject = oCandidateForExam; oResult.ResultMessage = "Candidate Answer Save Success..."; } else { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Candidate Answer Save Failed..."; } } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Candidate Answer Save..."; oResult.ResultException = oEx; logger.Info("Exception SaveCandidateAnswers CandidateExamProcessDAO+DAO", oEx); //new CLogger("Exception SaveCandidateAnswers CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception SaveCandidateAnswers CandidateExamProcessDAO+DAO", ELogLevel.Debug, oEx); } //new CLogger("Out SaveCandidateAnswers CandidateExamProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out SaveCandidateAnswers CandidateExamProcessDAO+DAO", ELogLevel.Debug); ; logger.Info("End SaveCandidateAnswers CandidateExamProcessDAO+DAO"); return oResult; }
/// <summary> /// This Method Load Questions according to category, type for an exam. /// </summary> /// <param name="oCategory"> It takes Category Object </param> /// <param name="oQuestionType"> It takes QuestionType Object </param> /// <param name="oCandidateForExam"> It takes CandidateForExam Object </param> /// <returns> It returns Result Object </returns> public Result LoadQuestionsForACandidateInExamByCategoryAndType(Category oCategory, QuestionType oQuestionType, CandidateForExam oCandidateForExam) { logger.Info("Start LoadQuestionsForACandidateInExamByCategoryAndType CandidateExamProcessDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); SqlDataReader oSqlDataReader = null; String sSelect = String.Empty; String sChoiceSelect = String.Empty; List<Question> oListQuestion = new List<Question>(); List<CandidateAnswerQuestion> oListCandidateAnswerQuestion = new List<CandidateAnswerQuestion>(); int i = 0; try { //sSelect = "select EX_Question.QuestionID,EX_Question.QuestionText,EX_Question.QuestionCreatorID,EX_Question.QuestionDefaultMark,EX_Question.QuestionCategoryID,EX_Question.QuestionTypeID from EX_QuestionGeneration inner join EX_Question on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID where EX_QuestionGeneration.ExamID='" + oCandidate.CadidateCandidateExam.CandiadteExamExam.ExamID + "' order by EX_Question.QuestionCategoryID, EX_Question.QuestionTypeID asc"; //sSelect = "select EX_Question.QuestionID,EX_Question.QuestionText,EX_Question.QuestionCreatorID,EX_QuestionGeneration.SetupQuestionMark,EX_Question.QuestionCategoryID,EX_Question.QuestionTypeID" //+" from EX_QuestionGeneration inner join EX_Question on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID" //+" where EX_QuestionGeneration.ExamID='" + oCandidate.CadidateCandidateExam.CandiadteExamExam.ExamID + "' order by EX_Question.QuestionCategoryID, EX_Question.QuestionTypeID asc"; sSelect = "select EX_Question.QuestionID,EX_Question.QuestionText," +" EX_Question.QuestionCreatorID,EX_QuestionGeneration.SetupQuestionMark" +" ,EX_Question.QuestionCategoryID,EX_Question.QuestionTypeID" +" from EX_QuestionGeneration inner join EX_Question on EX_QuestionGeneration.QuestionID=EX_Question.QuestionID" +" where EX_QuestionGeneration.ExamID='" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "'" +" and EX_Question.QuestionCategoryID='" + oCategory.CategoryID + "'" +" and EX_Question.QuestionTypeID='" + oQuestionType.QuestionTypeID + "'"; oSqlDataReader = oDAOUtil.GetReader(sSelect); while (oSqlDataReader.Read()) { Question oQuestion = new Question(); oQuestion.QuestionID = new Guid(oSqlDataReader["QuestionID"].ToString()); oQuestion.QuestionText = oSqlDataReader["QuestionText"].ToString(); oQuestion.QuestionCreator.SystemUserID = new Guid(oSqlDataReader["QuestionCreatorID"].ToString()); oQuestion.QuestionDefaultMark = float.Parse(oSqlDataReader["SetupQuestionMark"].ToString()); oQuestion.QuestionCategory.CategoryID = int.Parse(oSqlDataReader["QuestionCategoryID"].ToString()); oQuestion.QuestionQuestionType.QuestionTypeID = int.Parse(oSqlDataReader["QuestionTypeID"].ToString()); oListQuestion.Add(oQuestion); } oSqlDataReader.Close(); foreach (Question oQuestionForChoice in oListQuestion) { if (oQuestionForChoice.QuestionQuestionType.QuestionTypeID == 0) { sChoiceSelect = "select ObjectiveAnswer,ObjectiveAnswerIsValid from EX_Objective where ObjectiveQuestionID='" + oQuestionForChoice.QuestionID + "'"; List<Choice> oListChoice = new List<Choice>(); oSqlDataReader = oDAOUtil.GetReader(sChoiceSelect); while (oSqlDataReader.Read()) { //prepare the choices for a particular questtion...... //and populate oListQuestion Choice oChoice = new Choice(); oChoice.ChoiceName = oSqlDataReader["ObjectiveAnswer"].ToString(); //oChoice.ChoiceIsValid = Convert.ToBoolean(oSqlDataReader["ObjectiveAnswerIsValid"].ToString()); oChoice.ChoiceIsValid = false; oListChoice.Add(oChoice); } oSqlDataReader.Close(); oQuestionForChoice.QuestionObjectiveType.ListOfChoices = oListChoice; } } for (i = 0; i < oListQuestion.Count; i++) { CandidateAnswerQuestion oCandidateAnswerQuestion = new CandidateAnswerQuestion(); oCandidateAnswerQuestion.QuestionForCandidateAnswer = oListQuestion[i]; oListCandidateAnswerQuestion.Add(oCandidateAnswerQuestion); } oResult.ResultObject = oListCandidateAnswerQuestion; oResult.ResultMessage = "Load Question for Exam Success..."; oResult.ResultIsSuccess = true; } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Question Load for Exam..."; oResult.ResultException = oEx; logger.Info("Exception LoadQuestionsForACandidateInExamByCategoryAndType CandidateExamProcessDAO+DAO", oEx); } finally { if (oSqlDataReader != null && !oSqlDataReader.IsClosed) { oSqlDataReader.Close(); } } logger.Info("End LoadQuestionsForACandidateInExamByCategoryAndType CandidateExamProcessDAO+DAO"); return oResult; }
/// <summary> /// This method Load Candidates According to SystemUser to evaluate candidates /// That means, if a system user setup questions for an exam then he can evaluate candidates /// Administrator can always evaluate candidates. /// </summary> /// <param name="oSystemUser"> It takes SystemUser Object </param> /// <param name="oExam"> It takes Exam Object </param> /// <returns> It returns Result Object </returns> public Result LoadCandidatesAccordingToSystemUserForEvaluate(SystemUser oSystemUser, Exam oExam) { //new CLogger("Start LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", ELogLevel.Debug); logger.Info("Start LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); SqlDataReader oSqlDataReader = null; List<CandidateForExam> oListCandidateForExam = new List<CandidateForExam>(); String sSelect = String.Empty; try { if (oSystemUser.SystemUserName.ToLower().Equals("administrator")) { //sSelect = "select distinct EX_Candidate.ExamID,EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,CvPath from EX_Candidate inner join EX_CandidateExam on EX_Candidate.CompositeCandidateID = EX_CandidateExam.CandidateID where EX_Candidate.ExamID='" + oExam.ExamID + "' and EX_Candidate.ExamID in (select EX_QuestionGeneration.ExamID from EX_QuestionGeneration where EX_QuestionGeneration.ExamID='" + oExam.ExamID + "')"; sSelect = "select distinct EX_CandidateForExam.ExamID,EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,EX_Candidate.CvPath" + " from EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID=EX_CandidateForExam.CandidateID" + " inner join EX_CandidateExam on EX_CandidateForExam.ExamID=EX_CandidateExam.ExamID where EX_CandidateExam.ExamID='" + oExam.ExamID + "'" + " and EX_CandidateForExam.CandidateID=EX_CandidateExam.CandidateID" + " and EX_CandidateExam.ExamID in (select EX_QuestionGeneration.ExamID from EX_QuestionGeneration where EX_QuestionGeneration.ExamID='" + oExam.ExamID + "')"; } else { //sSelect = "select distinct EX_Candidate.ExamID,EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,CvPath from EX_Candidate inner join EX_CandidateExam on EX_Candidate.CompositeCandidateID = EX_CandidateExam.CandidateID where EX_Candidate.ExamID='" + oExam.ExamID + "' and EX_Candidate.ExamID in (select EX_QuestionGeneration.ExamID from EX_QuestionGeneration where EX_QuestionGeneration.ExamID='" + oExam.ExamID + "' and EX_QuestionGeneration.GeneratorID='" + oSystemUser.SystemUserID + "')"; sSelect = "select distinct EX_CandidateForExam.ExamID,EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,EX_Candidate.CvPath" + " from EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID=EX_CandidateForExam.CandidateID" + " inner join EX_CandidateExam on EX_CandidateForExam.ExamID=EX_CandidateExam.ExamID where EX_CandidateExam.ExamID='" + oExam.ExamID + "'" + " and EX_CandidateForExam.CandidateID=EX_CandidateExam.CandidateID" + " and EX_CandidateExam.ExamID in (select EX_QuestionGeneration.ExamID from EX_QuestionGeneration where EX_QuestionGeneration.ExamID='" + oExam.ExamID + "' and EX_QuestionGeneration.GeneratorID='" + oSystemUser.SystemUserID + "')"; } oSqlDataReader = oDAOUtil.GetReader(sSelect); while(oSqlDataReader.Read()) { CandidateForExam oCandidateForExam = new CandidateForExam(); oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID = new Guid(oSqlDataReader["ExamID"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID = oSqlDataReader["CompositeCandidateID"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidatePassword = oSqlDataReader["CandidatePassword"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateName = oSqlDataReader["Name"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastResult = float.Parse(oSqlDataReader["LastResult"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandiadteLastInstitution = oSqlDataReader["LastInstitution"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastPassingYear = int.Parse(oSqlDataReader["LastPassingYear"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandidateCvPath = oSqlDataReader["CvPath"].ToString(); oListCandidateForExam.Add(oCandidateForExam); } oSqlDataReader.Close(); oResult.ResultObject = oListCandidateForExam; oResult.ResultMessage = "LoadCandidatesAccordingToSystemUserForEvaluate Success..."; oResult.ResultIsSuccess = true; } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "LoadCandidatesAccordingToSystemUserForEvaluate Exception..."; logger.Info("Exception LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", oEx); //new CLogger("Exception LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", ELogLevel.Debug, oEx); } finally { if (oSqlDataReader!=null && !oSqlDataReader.IsClosed) { oSqlDataReader.Close(); } } //new CLogger("Out LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO", ELogLevel.Debug); ; logger.Info("End LoadCandidatesAccordingToSystemUserForEvaluate EvaluateProcessDAO+DAO"); return oResult; }
protected void btn_Setup_Click(object sender, EventArgs e) { try { Result oResult = new Result(); Candidate oCandidate = new Candidate(); CandidateForExam oCandidateForExam = new CandidateForExam(); CandidateBO oCandidateBO = new CandidateBO(); Exam oExam = new Exam(); oExam =(Exam)Utils.GetSession(SessionManager.csSelectedExam); if (IsValidCandidateName(txt_CandidateName.Text) && IsValidLastResult(txt_MarkOrCG.Text) && IsValidLastResultRange(txt_MarkOrCG.Text,txtOutOf.Text) && IsValidLastInstitution(txt_LastInstitution.Text) && IsValidLastPassingYear(txt_LastPassingYear.Text) && IsValidCV(fup_ccandidateCv) && IsValidSelection(dr_SelectCGOrMark.SelectedValue) && IsBeforeExamStarted(oExam) && IsValidEmail(txt_Email.Text)) { oCandidate.CandidateCompositeID = txt_CandidateName.Text + DateTime.Now.Ticks.ToString(); //oCandidate.CadidateCandidateExam.CandiadteExamExam = oExam; oCandidate.CandiadteLastInstitution = txt_LastInstitution.Text; oCandidate.CandidateName = txt_CandidateName.Text; oCandidate.CandidateCvPath = oExam.ExamName + "\\" + oCandidate.CandidateCompositeID.ToString()+"_" + fup_ccandidateCv.FileName; // this partially CV path oCandidate.CandidateLastPassingYear = int.Parse(txt_LastPassingYear.Text); oCandidate.CandidateLastResult = float.Parse(txt_MarkOrCG.Text); oCandidate.CandidatePassword = txt_CandidateName.Text.Substring(0, 2) + "@123"; oCandidate.CandidateEmail = txt_Email.Text; oCandidate.CandidateLastResultRange = float.Parse(txtOutOf.Text); oCandidate.LastResultTypaName = dr_SelectCGOrMark.SelectedValue; if (!Directory.Exists(DirectoryManager.csCandidateCVDirectory + oExam.ExamName + "\\")) { Directory.CreateDirectory(DirectoryManager.csCandidateCVDirectory + oExam.ExamName + "\\"); } if (IsValidCandidatePhoto(fup_CandidatePhoto)) { oCandidate.CandidatePicturePath = oExam.ExamName + "\\" + oCandidate.CandidateCompositeID.ToString() + "_" + fup_CandidatePhoto.FileName; fup_CandidatePhoto.SaveAs(DirectoryManager.csCandidateCVDirectory + oCandidate.CandidatePicturePath); } oCandidateForExam.CadidateCandidateExam.CandiadteExamExam = oExam; oCandidateForExam.CandidateForExamCandidate = oCandidate; fup_ccandidateCv.SaveAs(DirectoryManager.csCandidateCVDirectory + oCandidate.CandidateCvPath); oResult = oCandidateBO.CandidateSetup(oCandidateForExam); if (oResult.ResultIsSuccess) { if (rdoEmaiSendNotSend.SelectedValue.Equals("Send ID & Password")) { Object[] oObjArr = new Object[2]; oObjArr[0] = oExam; oObjArr[1] = oCandidate; object oObject = new object(); oObject = oObjArr; ThreadPool.QueueUserWorkItem(new WaitCallback(SendMailToCandidate), oObject); } else if (rdoEmaiSendNotSend.SelectedValue.Equals("Dont Send")) { } lbl_error.ForeColor = Color.Green; lbl_error.Text = oResult.ResultMessage; clearControlValue(); } else { if(File.Exists(DirectoryManager.csCandidateCVDirectory + oCandidate.CandidateCvPath)) { File.Delete(DirectoryManager.csCandidateCVDirectory + oCandidate.CandidateCvPath); } lbl_error.ForeColor = Color.Red; lbl_error.Text = oResult.ResultMessage; } } else { if (!IsBeforeExamStarted(oExam)) { lbl_error.ForeColor = Color.Red; lbl_error.Text = "Setup Candidate Before Exam Started."; } else { if (!IsValidLastPassingYear(txt_LastPassingYear.Text)) { lbl_error.ForeColor = Color.Red; lbl_error.Text = "Passing year must be less than or equal currnet year"; } if(!IsValidCV(fup_ccandidateCv)) { lbl_error.ForeColor = Color.Red; lbl_error.Text = lbl_error.Text + "<br/>Valid CV Extension(.html,.htm,.doc,.pdf,.rtf)"; } if (!IsValidCandidatePhoto(fup_CandidatePhoto)) { lbl_error.ForeColor = Color.Red; lbl_error.Text = lbl_error.Text + "<br/>Valid Photo Extension(.gif,.png,.jpg,.jpeg,.bmp)"; } //if(!IsValidCV(fup_ccandidateCv) || !IsValidCandidatePhoto(fup_CandidatePhoto)) //{ // lbl_error.ForeColor = Color.Red; // lbl_error.Text = "- is not allowed. Valid CV Extension(.html,.htm,.doc,.pdf,.rtf)" + "<br/>" + "- is not allowed. Valid Image Extension(.gif,.png,.jpg,.jpeg,.bmp)"; //} } } } catch (Exception oEx) { lbl_error.ForeColor = Color.Red; lbl_error.Text = "Exception occured during Candidate Setup."; } }
/// <summary> /// This Method Show All Candidates with their information for an Exam. /// </summary> /// <param name="oExam"> It takes Exam Object </param> /// <returns> It returns Result Object </returns> public Result ShowAllCandidates(Exam oExam) { //new CLogger("Start ShowAllCandidates CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start ShowAllCandidates CandidateDAO+DAO", ELogLevel.Debug); logger.Info("Start ShowAllCandidates CandidateDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); List<CandidateForExam> oListCandidateForExam = new List<CandidateForExam>(); String sSelect = String.Empty; SqlDataReader oSqlDataReader = null; try { sSelect = "select EX_CandidateForExam.ExamID,CompositeCandidateID,CandidatePassword,Name," + " LastResult,LastResultRange,LastResultTypeName,LastInstitution,LastPassingYear,CvPath,EmailAddress,CandidatePicturePath" +" from EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID=EX_CandidateForExam.CandidateID" +" where EX_CandidateForExam.ExamID='" + oExam.ExamID + "'"; oSqlDataReader = oDAOUtil.GetReader(sSelect); while (oSqlDataReader.Read()) { CandidateForExam oCandidateForExam = new CandidateForExam(); oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID = new Guid(oSqlDataReader["ExamID"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID = oSqlDataReader["CompositeCandidateID"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidatePassword = oSqlDataReader["CandidatePassword"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateName = oSqlDataReader["Name"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastResult = float.Parse(oSqlDataReader["LastResult"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandiadteLastInstitution = oSqlDataReader["LastInstitution"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastPassingYear = int.Parse(oSqlDataReader["LastPassingYear"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandidateCvPath = oSqlDataReader["CvPath"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateEmail = oSqlDataReader["EmailAddress"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastResultRange = float.Parse(oSqlDataReader["LastResultRange"].ToString()); oCandidateForExam.CandidateForExamCandidate.LastResultTypaName = oSqlDataReader["LastResultTypeName"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidatePicturePath = oSqlDataReader["CandidatePicturePath"].ToString(); oListCandidateForExam.Add(oCandidateForExam); } oSqlDataReader.Close(); oResult.ResultObject = oListCandidateForExam; oResult.ResultMessage = "Candidate Load Success..."; oResult.ResultIsSuccess = true; } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Candidate Load Failed..."; oResult.ResultException = oEx; logger.Info("Exception ShowAllCandidates CandidateDAO+DAO", oEx); //new CLogger("Exception ShowAllCandidates CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception ShowAllCandidates CandidateDAO+DAO", ELogLevel.Debug, oEx); } finally { if (oSqlDataReader!=null && !oSqlDataReader.IsClosed) { oSqlDataReader.Close(); } } //new CLogger("Out ShowAllCandidates CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out ShowAllCandidates CandidateDAO+DAO", ELogLevel.Debug); logger.Info("End ShowAllCandidates CandidateDAO+DAO"); return oResult; }
//r /// <summary> /// This Method Setup Candidate for an exam. /// </summary> /// <param name="oCandidateForExam"> It takes CandidateForExam Object </param> /// <returns> It returns Result Object </returns> public Result CandidateSetup(CandidateForExam oCandidateForExam) { //new CLogger("Start CandidateSetup CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start CandidateSetup CandidateDAO+DAO", ELogLevel.Debug); logger.Info("Start CandidateSetup CandidateDAO+DAO"); Result oResult = new Result(); DAOUtil oDAOUtil = new DAOUtil(); String sInsert = String.Empty; //List<String> oListString = new List<String>(); SqlCommand oSqlCommand = null; List<SqlCommand> oListSqlCommand = new List<SqlCommand>(); List<int> oListInt = new List<int>(); try { //sInsert = "DECLARE @rows int SET @rows = (SELECT max(CandidateIDInt) from EX_Candidate) if @rows is null insert into EX_Candidate(ExamID,CompositeCandidateID,CandidatePassword,Name,LastResult,LastInstitution,LastPassingYear,CvPath,CandidateID) values('" + oCandidate.CadidateCandidateExam.CandiadteExamExam.ExamID + "','" + oCandidate.CandidateName + "_1','" + oCandidate.CandidateName + "_1','" + oCandidate.CandidateName + "','" + oCandidate.CandidateLastResult + "','" + oCandidate.CandiadteLastInstitution + "','" + oCandidate.CandidateLastPassingYear + "','" + oCandidate.CandidateCvPath + "','" + oCandidate.CandidateID + "') else insert into EX_Candidate(ExamID,CompositeCandidateID,CandidatePassword,Name,LastResult,LastInstitution,LastPassingYear,CvPath,CandidateID) values('" + oCandidate.CadidateCandidateExam.CandiadteExamExam.ExamID + "','" + oCandidate.CandidateName + "_'" + "+Convert(varchar(50),@rows+1),'" + oCandidate.CandidateName + "_'" + "+Convert(varchar(50),@rows+1),'" + oCandidate.CandidateName + "','" + oCandidate.CandidateLastResult + "','" + oCandidate.CandiadteLastInstitution + "','" + oCandidate.CandidateLastPassingYear + "','" + oCandidate.CandidateCvPath + "','" + oCandidate.CandidateID + "')"; //values('abc' + Convert(varchar(50),@rows+1))"; //sInsert = "insert into EX_Candidate(CompositeCandidateID,CandidatePassword,Name,LastResult,LastInstitution,LastPassingYear,CvPath,EmailAddress,LastResultRange,LastResultTypeName,CandidatePicturePath) values('" + oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID + "','" + oCandidateForExam.CandidateForExamCandidate.CandidatePassword + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateName + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateLastResult + "','" + oCandidateForExam.CandidateForExamCandidate.CandiadteLastInstitution + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateLastPassingYear + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateCvPath + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateEmail + "','" + oCandidateForExam.CandidateForExamCandidate.CandidateLastResultRange + "','" + oCandidateForExam.CandidateForExamCandidate.LastResultTypaName + "','" + oCandidateForExam.CandidateForExamCandidate.CandidatePicturePath + "')"; //oListString.Add(sInsert); //sInsert = "insert into EX_CandidateForExam(CandidateID,ExamID) values('" + oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID + "','" + oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID + "')"; //oListString.Add(sInsert); //if (oDAOUtil.ExecuteNonQuery(oListString)) //{ // oResult.ResultMessage = "Candidate Setup Success..."; // oResult.ResultObject = oCandidateForExam; // oResult.ResultIsSuccess = true; //} //else //{ // oResult.ResultIsSuccess = false; // oResult.ResultMessage = "Candidate Setup Failed..."; //} oSqlCommand = new SqlCommand("SP_CandidateSetup"); oSqlCommand.CommandType = CommandType.StoredProcedure; oSqlCommand.Parameters.Add("@CompositeCandidateID", SqlDbType.VarChar); oSqlCommand.Parameters["@CompositeCandidateID"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID; oSqlCommand.Parameters.Add("@CandidatePassword", SqlDbType.VarChar); oSqlCommand.Parameters["@CandidatePassword"].Value = oCandidateForExam.CandidateForExamCandidate.CandidatePassword; oSqlCommand.Parameters.Add("@Name", SqlDbType.VarChar); oSqlCommand.Parameters["@Name"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateName; oSqlCommand.Parameters.Add("@LastResult", SqlDbType.Float); oSqlCommand.Parameters["@LastResult"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateLastResult; oSqlCommand.Parameters.Add("@LastInstitution", SqlDbType.VarChar); oSqlCommand.Parameters["@LastInstitution"].Value = oCandidateForExam.CandidateForExamCandidate.CandiadteLastInstitution; oSqlCommand.Parameters.Add("@LastPassingYear", SqlDbType.Int); oSqlCommand.Parameters["@LastPassingYear"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateLastPassingYear; oSqlCommand.Parameters.Add("@CvPath", SqlDbType.VarChar); oSqlCommand.Parameters["@CvPath"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateCvPath; oSqlCommand.Parameters.Add("@EmailAddress", SqlDbType.VarChar); oSqlCommand.Parameters["@EmailAddress"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateEmail; oSqlCommand.Parameters.Add("@LastResultRange", SqlDbType.Float); oSqlCommand.Parameters["@LastResultRange"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateLastResultRange; oSqlCommand.Parameters.Add("@LastResultTypeName", SqlDbType.VarChar); oSqlCommand.Parameters["@LastResultTypeName"].Value = oCandidateForExam.CandidateForExamCandidate.LastResultTypaName; oSqlCommand.Parameters.Add("@CandidatePicturePath", SqlDbType.VarChar); oSqlCommand.Parameters["@CandidatePicturePath"].Value = oCandidateForExam.CandidateForExamCandidate.CandidatePicturePath; oSqlCommand.Parameters.Add("@CandidateID", SqlDbType.VarChar); oSqlCommand.Parameters["@CandidateID"].Value = oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID; oSqlCommand.Parameters.Add("@ExamID", SqlDbType.UniqueIdentifier); oSqlCommand.Parameters["@ExamID"].Value = oCandidateForExam.CadidateCandidateExam.CandiadteExamExam.ExamID; oListSqlCommand.Add(oSqlCommand); oListInt = oDAOUtil.ExecuteNonQueryForStoredProcedure(oListSqlCommand); if (oListInt.Count > 0) { if (oListInt[0] > 0 ) { oResult.ResultMessage = "Candidate Setup Success..."; oResult.ResultObject = oCandidateForExam; oResult.ResultIsSuccess = true; } else { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Duplicate Candidate Email not allowed..."; } } else { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Candidate Setup Failed..."; } } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "Candidate Setup Exception..."; logger.Info("Exception CandidateSetup CandidateDAO+DAO", oEx); //new CLogger("Exception CandidateSetup CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception CandidateSetup CandidateDAO+DAO", ELogLevel.Debug, oEx); } //new CLogger("Out CandidateSetup CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out CandidateSetup CandidateDAO+DAO", ELogLevel.Debug); ; logger.Info("End CandidateSetup CandidateDAO+DAO"); return oResult; }
/// <summary> /// This Method varifies CandidateLogin. If he is not appeared for an exam then Login is success. /// He must login between an exam duration /// </summary> /// <param name="oCandidate"> It takes Candidate Object </param> /// <returns> It returns Result Object </returns> public Result CandidateLogin(Candidate oCandidate) { //new CLogger("Start CandidateLogin CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start CandidateLogin CandidateDAO+DAO", ELogLevel.Debug); logger.Info("Start CandidateLogin CandidateDAO+DAO"); Result oResult = new Result(); //Candidate oPopulatedCandidate = new Candidate(); CandidateForExam oCandidateForExam = new CandidateForExam(); Exam oPopulatedExam = new Exam(); DAOUtil oDAOUtil = new DAOUtil(); String sSelect = String.Empty; SqlDataReader oSqlDataReader = null; bool bIsCandidateFound = false; bool bIsBetweenLoginTime = false; //sSelect = "select EX_Exam.ExamDateWithTime,EX_Exam.ExamDuration,EX_Candidate.ExamID,EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,EX_Candidate.CvPath,EX_Candidate.CandidateIDInt,EX_Candidate.CandidateID from EX_Candidate,EX_Exam where ExamID in (select ExamID from EX_Candidate where EX_Candidate.CompositeCandidateID='" + oCandidate.CandidateCompositeID + "' and EX_Candidate.CandidatePassword='******')"; //sSelect = "select EX_Exam.ExamName,EX_Exam.ExamDateWithTime,EX_Exam.ExamDuration,EX_Exam.ExamTotalMarks,EX_Exam.ExamConstraint,EX_Exam.ExamID," //+" EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword,EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,EX_Candidate.CvPath" //+" from EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID=EX_CandidateForExam.CandidateID" //+" inner join EX_Exam on EX_CandidateForExam.ExamID=EX_Exam.ExamID" //+" where EX_Candidate.EmailAddress='" + oCandidate.CandidateEmail + "' and EX_Candidate.CandidatePassword='******'" //+" and EX_Candidate.CompositeCandidateID not in" //+" (select EX_CandidateExam.CandidateID from" //+" EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID =EX_CandidateForExam.CandidateID" //+" inner join EX_CandidateExam on EX_CandidateForExam.ExamID=EX_CandidateExam.ExamID" //+" where EX_Candidate.EmailAddress='" + oCandidate.CandidateEmail + "')"; sSelect = " select EX_Exam.ExamName,EX_Exam.ExamDateWithTime,EX_Exam.ExamDuration,EX_Exam.ExamTotalMarks," + " EX_Exam.ExamConstraint,EX_Exam.ExamID, EX_Candidate.CompositeCandidateID,EX_Candidate.CandidatePassword," + " EX_Candidate.Name,EX_Candidate.LastResult,EX_Candidate.LastInstitution,EX_Candidate.LastPassingYear,EX_Candidate.CvPath" + " from EX_Candidate inner join EX_CandidateForExam on EX_Candidate.CompositeCandidateID=EX_CandidateForExam.CandidateID" + " inner join EX_Exam on EX_CandidateForExam.ExamID=EX_Exam.ExamID" + " where EX_Candidate.EmailAddress='" + oCandidate.CandidateEmail + "' and" + " EX_Candidate.CandidatePassword='******' and EX_CandidateForExam.CandidateID not in" + " (select EX_CandidateExam.CandidateID from EX_CandidateExam where" + " EX_CandidateExam.ExamID=EX_CandidateForExam.ExamID and EX_CandidateExam.CandidateID=EX_CandidateForExam.CandidateID)"; try { DateTime oDateTime = DateTime.MinValue; float fDuration = 0f; Guid gExamID = Guid.Empty; oSqlDataReader = oDAOUtil.GetReader(sSelect); while (oSqlDataReader.Read()) { oDateTime = DateTime.Parse(oSqlDataReader["ExamDateWithTime"].ToString()); fDuration = float.Parse(oSqlDataReader["ExamDuration"].ToString()); gExamID = new Guid(oSqlDataReader["ExamID"].ToString()); oPopulatedExam.ExamID = gExamID; oPopulatedExam.ExamConstraint = int.Parse(oSqlDataReader["ExamConstraint"].ToString()); oPopulatedExam.ExamTotalMarks = int.Parse(oSqlDataReader["ExamTotalMarks"].ToString()); oPopulatedExam.ExamDateWithStartingTime = oDateTime; oPopulatedExam.ExamDurationinHour = fDuration; oPopulatedExam.ExamName = oSqlDataReader["ExamName"].ToString(); oCandidateForExam.CadidateCandidateExam.CandiadteExamExam = oPopulatedExam; oCandidateForExam.CandidateForExamCandidate.CandidateCompositeID = oSqlDataReader["CompositeCandidateID"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidatePassword = oSqlDataReader["CandidatePassword"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateName = oSqlDataReader["Name"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastResult = float.Parse(oSqlDataReader["LastResult"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandiadteLastInstitution = oSqlDataReader["LastInstitution"].ToString(); oCandidateForExam.CandidateForExamCandidate.CandidateLastPassingYear = int.Parse(oSqlDataReader["LastPassingYear"].ToString()); oCandidateForExam.CandidateForExamCandidate.CandidateCvPath = oSqlDataReader["CvPath"].ToString(); if (oDateTime != null && fDuration > 0f) { TimeSpan oTimeSpan = new TimeSpan(); oTimeSpan = oCandidate.CandidateLoginTime - oDateTime; Double dTimeDifference = oTimeSpan.TotalHours; if ((float)dTimeDifference < fDuration && (float)dTimeDifference >= 0f) { //oResult.ResultMessage = "Candidate Login Success..."; //oResult.ResultObject = oCandidateForExam; //oResult.ResultIsSuccess = true; bIsCandidateFound = true; bIsBetweenLoginTime = true; break; } //else //{ // bIsCandidateFound = true; //} } } oSqlDataReader.Close(); if (bIsCandidateFound && bIsBetweenLoginTime) { oResult.ResultMessage = "Candidate Login Success..."; oResult.ResultObject = oCandidateForExam; oResult.ResultIsSuccess = true; } else { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Candidate not found..."; } //else if (bIsCandidateFound && !bIsBetweenLoginTime) //{ // oResult.ResultIsSuccess = false; // oResult.ResultMessage = "Login Between Exam Time..."; //} //else if (!bIsCandidateFound) //{ // oResult.ResultIsSuccess = false; // oResult.ResultMessage = "Candidate not found..."; //} //if (oDateTime != null && fDuration > 0f) //{ // TimeSpan oTimeSpan = new TimeSpan(); // oTimeSpan = oCandidate.CandidateLoginTime - oDateTime; // Double dTimeDifference=oTimeSpan.TotalHours; // if ((float)dTimeDifference < fDuration && (float)dTimeDifference >= 0f) // { // oResult.ResultMessage = "Candidate Login Success..."; // oResult.ResultObject = oCandidateForExam; // oResult.ResultIsSuccess = true; // } // else // { // oResult.ResultIsSuccess = false; // oResult.ResultMessage = "Login between Exam time..."; // } //} //else //{ // oResult.ResultIsSuccess = false; // oResult.ResultMessage = "Candidate not found..."; //} } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "Candidate Login Exception..."; logger.Info("Exception CandidateLogin CandidateDAO+DAO", oEx); //new CLogger("Exception CandidateLogin CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception CandidateLogin CandidateDAO+DAO", ELogLevel.Debug, oEx); } finally { if (oSqlDataReader!=null && !oSqlDataReader.IsClosed) { oSqlDataReader.Close(); } } //new CLogger("Out CandidateLogin CandidateDAO+DAO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out CandidateLogin CandidateDAO+DAO", ELogLevel.Debug); ; logger.Info("End CandidateLogin CandidateDAO+DAO"); return oResult; }