/// <summary> /// Check is exist id, save isCorrect in db and if isCorrect == true - update score for user /// </summary> ///<table style=""width:100%""> ///<tr> /// <th>ERROR#</th> /// <th>ERROR CODE</th> /// <th>ERROR DESCRIPTION</th> ///</tr> ///<tr> /// <td>5012</td> /// <td>NOT_EXIST_QUESTION_ID</td> /// <td>Question Id is not exist in data base</td> ///</tr> ///<tr> /// <td>5011</td> /// <td>NOT_EXIST_USER_ID</td> /// <td>Student Id is not exist in data base</td> ///</tr> ///<tr> /// <td>9006</td> /// <td>DATA_BASE_ERROR</td> /// <td></td> ///</tr> ///</table> /// <param name="questionId"></param> /// <param name="studentId"></param> /// <param name="request"></param> /// <returns></returns> public Errors ConfirmAnswer(int questionId, int studentId, ConfirmAnswerRequest request) { try { if (!_dbManager.isExistUserId(studentId)) { return(Errors.NOT_EXIST_USER_ID); } if (!_dbManager.isExistQuestionId(questionId)) { return(Errors.NOT_EXIST_QUESTION_ID); } ConfirmAnswerDBRequest answer = new ConfirmAnswerDBRequest() { QuestionId = questionId, UserId = studentId, IsCorrect = request.IsCorrect }; _dbManager.ConfirmAnswer(answer); if (request.IsCorrect) { _dbManager.UpdateSurveyScore(answer); } return(Errors.OK); } catch (Exception ex) { _logger.Error(ex.Message); return(Errors.DATA_BASE_ERROR); } }