예제 #1
0
        public IActionResult PostFeedbackForTest([FromBody] FeedbackInputModel feedback)
        {
            AuthorDataAccess au = new AuthorDataAccess();
            AdminDataAccess  ad = new AdminDataAccess();

            var q = au.GetQuestionById(feedback.QuestionId);
            var u = ad.GetUserByID(feedback.UserId);

            if (string.IsNullOrWhiteSpace(feedback.Message))
            {
                return(BadRequest("Введите сообщение"));
            }

            if (q == null)
            {
                return(BadRequest("Вопроса не существует"));
            }

            if (u == null)
            {
                return(BadRequest("Юзера не существует"));
            }

            Mapper            mapper  = new Mapper();
            StudentDataAccess student = new StudentDataAccess();
            int id = student.CreateFeedback(mapper.ConvertFeedbackInputModelToFeedbackDTO(feedback));

            return(Ok(id));
        }
예제 #2
0
        public ActionResult PutAnswerById(AnswerInputModel answerModel)
        {
            Mapper           mapper    = new Mapper();
            AnswerDTO        answerdto = mapper.ConvertAnswerInputModelToAnswerDTO(answerModel);
            AuthorDataAccess answers   = new AuthorDataAccess();
            var answer = answers.GetAnswerById(answerModel.ID);

            if (answer == null)
            {
                return(BadRequest("Ответа не существует"));
            }
            var question = answers.GetQuestionById(answerModel.QuestionID);

            if (question == null)
            {
                return(BadRequest("Вопроса не существует"));
            }
            if (string.IsNullOrWhiteSpace(answerModel.Value))
            {
                return(BadRequest("Введите ответ"));
            }
            if (answerModel.Correct == null)
            {
                return(BadRequest("Введите корректный ответ или нет"));
            }
            answers.UpdateAnswerById(answerdto);
            return(Ok("Успешно изменено!"));
        }
예제 #3
0
        public ActionResult <int> DeleteQuestionById(int questionId)
        {
            AuthorDataAccess questions = new AuthorDataAccess();
            var question = questions.GetQuestionById(questionId);

            if (question == null)
            {
                return(BadRequest("Вопроса не существует"));
            }
            questions.DeleteQuestionById(questionId);
            return(Ok(questionId));
        }
예제 #4
0
        public ActionResult <int> PostAnswer(AnswerInputModel answerModel)
        {
            Mapper           mapper    = new Mapper();
            AnswerDTO        answerDto = mapper.ConvertAnswerInputModelToAnswerDTO(answerModel);
            AuthorDataAccess answer    = new AuthorDataAccess();
            var question = answer.GetQuestionById(answerModel.QuestionID);

            if (question == null)
            {
                return(BadRequest("Вопроса не существует"));
            }
            if (string.IsNullOrWhiteSpace(answerModel.Value))
            {
                return(BadRequest("Введите ответ"));
            }
            if (answerModel.Correct == null)
            {
                return(BadRequest("Введите корректный ответ или нет"));
            }
            return(Ok(answer.AddAnswer(answerDto)));
        }
예제 #5
0
        public ActionResult <int> PutQuestionById(QuestionInputModel questionModel)
        {
            Mapper           mapper      = new Mapper();
            QuestionDTO      questionDto = mapper.ConvertQuestionInputModelToQuestionDTO(questionModel);
            AuthorDataAccess questions   = new AuthorDataAccess();
            var question = questions.GetQuestionById(questionModel.ID);

            if (question == null)
            {
                return(BadRequest("Вопроса не существует"));
            }
            var test = questions.GetTestById(questionModel.TestID);

            if (test == null)
            {
                return(BadRequest("Теста не существует"));
            }
            if (string.IsNullOrWhiteSpace(questionModel.Value))
            {
                return(BadRequest("Введите вопрос"));
            }
            if (questionModel.TypeID == null)
            {
                return(BadRequest("Введите тип вопроса"));
            }
            if (questionModel.AnswersCount == null)
            {
                return(BadRequest("Введите количество ответов на вопрос"));
            }
            if (questionModel.Weight == null)
            {
                return(BadRequest("Введите вес вопроса"));
            }
            questions.UpdateQuestionById(questionDto);
            return(Ok("Изменения сделаны успешно"));
        }
예제 #6
0
        public ActionResult <QuestionOutputModel> GetQuestionById([FromBody] int questionId)
        {
            Mapper              mapper     = new Mapper();
            AuthorDataAccess    question   = new AuthorDataAccess();
            QuestionOutputModel model      = mapper.ConvertQuestionDTOToQuestionOutputModel(question.GetQuestionById(questionId));
            QuestionStatistics  statistics = new QuestionStatistics(questionId);

            model.PercentageOfCorrectlyAnswered = statistics.GetPercentageOfCorrectlyAnswered(questionId);
            return(Ok(model));
        }