public HttpResponseMessage DeleteQuestion(QuestionInfo question) { try { Requires.NotNull("question", question); Requires.NotNegative("question.ModuleId", question.ModuleId); Requires.NotNegative("question.VideoId", question.QuestionId); var qc = new QuestionController(); qc.DeleteQuestion(question.QuestionId, question.ModuleId); return Request.CreateResponse(HttpStatusCode.OK); } catch (Exception exc) { Exceptions.LogException(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
public HttpResponseMessage GetQuestions(int moduleId, int videoId) { try { Requires.NotNegative("moduleId", moduleId); var ctl = new QuestionController(); var questions = ctl.GetQuestions(moduleId).Where(a => a.VideoId == videoId).ToJson(); return Request.CreateResponse(HttpStatusCode.OK, questions); } catch (Exception exc) { Exceptions.LogException(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
public HttpResponseMessage AddQuestion(QuestionInfo questionDto) { try { Requires.NotNull("questionDto", questionDto); Requires.NotNegative("questionDto.QuestionId", questionDto.QuestionId); Requires.NotNegative("questionDto.VideoId", questionDto.VideoId); Requires.NotNull("questionDto.QuestionText", questionDto.QuestionText); Requires.NotNegative("questionDto.ModuleId", questionDto.ModuleId); Requires.NotNegative("questionDto.OrderIndex", questionDto.OrderIndex); Requires.NotNegative("questionDto.CreatedByUserId", questionDto.CreatedByUserId); Requires.NotNegative("questionDto.LastModifiedByUserId", questionDto.LastModifiedByUserId); var qc = new QuestionController(); // get the question from the database to maintain data integrity var question = qc.GetQuestion(questionDto.QuestionId, questionDto.ModuleId); if (question == null) { // this is a new question // update all values question = new QuestionInfo() { QuestionId = questionDto.QuestionId, VideoId = questionDto.VideoId, QuestionText = questionDto.QuestionText, ModuleId = questionDto.ModuleId, OrderIndex = questionDto.OrderIndex, CreatedByUserId = questionDto.CreatedByUserId, LastModifiedByUserId = questionDto.LastModifiedByUserId, LastModifiedOnDate = DateTime.Now, CreatedOnDate = DateTime.Now }; qc.CreateQuestion(question); } else { // this is an existing question that's getting updated // we'll only update the values that are allowed to be updated question.QuestionText = questionDto.QuestionText; question.VideoId = questionDto.VideoId; question.OrderIndex = questionDto.OrderIndex; question.LastModifiedByUserId = questionDto.LastModifiedByUserId; question.LastModifiedOnDate = DateTime.Now; qc.UpdateQuestion(question); } return Request.CreateResponse(HttpStatusCode.OK); } catch (Exception exc) { Exceptions.LogException(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }