コード例 #1
0
        public async Task <IActionResult> Edit(string id, [Bind("Id,AnswerText,AnswerTime,yesVote,noVote,IsCorrectAnsw,ApplicationUserID,QuestionId")] AnswersModel answersModel)
        {
            if (id != answersModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(answersModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AnswersModelExists(answersModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ApplicationUserID"] = new SelectList(_context.Users, "Id", "Id", answersModel.ApplicationUserID);
            return(View(answersModel));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,VoteCount,Body,UserID,PostDate,QuestionID")] AnswersModel answersModel)
        {
            if (id != answersModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(answersModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AnswersModelExists(answersModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(answersModel));
        }
        public static AnswersModel TranslateAsAnswers(this SqlDataReader reader, bool isList = false)
        {
            if (!isList)
            {
                if (!reader.HasRows)
                {
                    return(null);
                }
                reader.Read();
            }
            var item = new AnswersModel();

            if (reader.IsColumnExists("Id"))
            {
                item.Id = SqlHelper.GetNullableInt32(reader, "Id");
            }

            if (reader.IsColumnExists("Answer"))
            {
                item.Answer = SqlHelper.GetNullableString(reader, "Answer");
            }

            if (reader.IsColumnExists("QuestionId"))
            {
                item.QuestionId = SqlHelper.GetNullableInt32(reader, "QuestionId");
            }

            return(item);
        }
コード例 #4
0
        public Task UpdateAsync(AnswersModel model)
        {
            var book = mapper.Map <Answer>(model);

            return(Task.Run(() => {
                UnitOfWork.AnswersRepository.Update(book);
                UnitOfWork.SaveAsync();
            }));
        }
コード例 #5
0
        public async Task <IActionResult> Create([Bind("Id,VoteCount,Body,UserID,PostDate,QuestionID")] AnswersModel answersModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(answersModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(answersModel));
        }
コード例 #6
0
        public IActionResult Results([FromBody] AnswersModel answers)
        {
            if (HttpContext.Session.GetString("Username") == null || !ModelState.IsValid)
            {
                return(Redirect("/Home/Login"));
            }


            var model = _resultModelBuilder.Build(answers);

            return(Json(model));
        }
コード例 #7
0
        public async Task <IActionResult> Create([Bind("Id,AnswerText,AnswerTime,yesVote,noVote,IsCorrectAnsw,ApplicationUserID,QuestionId")] AnswersModel answersModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(answersModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ApplicationUserID"] = new SelectList(_context.Users, "Id", "Id", answersModel.ApplicationUserID);
            return(View(answersModel));
        }
コード例 #8
0
        public ResultModel Build(AnswersModel answers)
        {
            var total = _quizService.GetTotatlQuizQuestions(answers.QuizId).GetAwaiter().GetResult();
            var score = _scoreService.GetScore(answers.AnswersToCheck).GetAwaiter().GetResult();

            return(new ResultModel
            {
                QuizId = answers.QuizId,
                Total = total,
                Score = score
            });
        }
コード例 #9
0
        public IActionResult PostAnswer([FromBody] AnswersModel Model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_questionsRepository.CreateQuestionAnswer(Model))
            {
                ModelState.AddModelError("", $"Something went wrong saving the job " +
                                         $"{Model.Id}");
                return(StatusCode(500, ModelState));
            }

            return(Ok(new { answerCreated = true }));
        }
コード例 #10
0
        public ActionResult GetQuestionById(int QuestionId)
        {
            NewQuestion         obj     = new NewQuestion();
            List <AnswersModel> objlist = new List <AnswersModel>();

            using (var db = new NewRegEntities())
            {
                var query = from question in db.Questions
                            join category in db.Categories on question.CatergoryId equals category.CategoryId
                            where question.QuestionId == QuestionId
                            select new QuestionsModel()
                {
                    QuestionId          = question.QuestionId,
                    Question            = question.Question1,
                    Category            = category.CategoryName,
                    CategoryId          = category.CategoryId,
                    QuestionDateAndTime = question.QuestionDateAndTime
                };
                obj.QuestionDetails = query.FirstOrDefault();

                var answerQuery = from answer in db.Answers
                                  join question in db.Questions on answer.QuestionId equals question.QuestionId
                                  where question.QuestionId == QuestionId
                                  select new AnswersModel()
                {
                    AnswerId          = answer.AnswerId,
                    Answer            = answer.Answer1,
                    QuestionId        = (int)answer.QuestionId,
                    AnswerDateAndTime = answer.AnswerDateAndTime
                };

                foreach (var item in answerQuery)
                {
                    AnswersModel objNew = new AnswersModel
                    {
                        AnswerId          = item.AnswerId,
                        Answer            = item.Answer,
                        QuestionId        = item.QuestionId,
                        AnswerDateAndTime = item.AnswerDateAndTime
                    };
                    objlist.Add(objNew);
                }
                obj.ListAnswerDetails = objlist;

                return(View(obj));
            }
        }
コード例 #11
0
        public async Task <ActionResult> Update(int id, AnswersModel answersModel)
        {
            try
            {
                if (answersModel == null)
                {
                    return(BadRequest("Answer object is null"));
                }

                await AnswerService.UpdateAsync(answersModel);

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, "Internal server error"));
            }
        }
コード例 #12
0
        public async Task <ActionResult> Add([FromBody] AnswersModel answersModel)
        {
            try
            {
                if (answersModel == null)
                {
                    return(BadRequest("Answer object is null"));
                }

                await AnswerService.AddAsync(answersModel);

                return(CreatedAtRoute("AnswerId", new { id = answersModel.AnswerId }, answersModel));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, "Internal server error"));
            }
        }
コード例 #13
0
 public ActionResult GetQuestionById(AnswersModel answersModel)
 {
     if (ModelState.IsValid)
     {
         using (var context = new NewRegEntities())
         {
             var answer = new StackOverflow.Models.Answer
             {
                 Answer1           = answersModel.Answer,
                 QuestionId        = answersModel.QuestionId,
                 AnswerDateAndTime = DateTime.Now
             };
             context.Answers.Add(answer);
             context.SaveChanges();
         }
     }
     return(RedirectToAction("GetQuestionById", new { QuestionId = answersModel.QuestionId }));
 }
コード例 #14
0
        private void SaveAnswerBtnClicked(object sender, RoutedEventArgs e)
        {
            AdminWindowVM aw = (AdminWindowVM)this.DataContext;

            if(CurrentQuestion.Equals(Guid.Empty)) return;
            QuestionContentRTB.SelectAll();

            #region Validate Fields

            if (QuestionContentRTB.Selection.Text == "")
            {
                MessageBox.Show("Question is not defined");
                return;
            }
            if(AnswersDictionary.Count ==0)
            {
                MessageBox.Show("No answers added");
                return;
            }
            if (AnswersDictionary.Count != 0)
            {
                bool IsanswrsEmpty = true;
                for (int i = 0; i < AnswersCount; i++)
                {
                    if (AnswersDictionary.ContainsKey(i))
                    {
                        try
                        {
                            RichTextBox tb = (RichTextBox)AnswersStackPannel.FindName("AnswerRTB" + i.ToString());
                            tb.SelectAll();
                            if (tb.Selection.Text.Trim() != "")
                            {
                                IsanswrsEmpty = false;
                            }
                        }
                        catch { }
                    }
                }
                if (IsanswrsEmpty)
                {
                    MessageBox.Show("No answers added");
                    return;
                }
            }
            if (AnswersDictionary.Count != 0)
            {
                bool IsAChecked = false;
                for (int i = 0; i < AnswersCount; i++)
                {
                    if (AnswersDictionary.ContainsKey(i))
                    {
                        try
                        {
                            RadioButton rb = (RadioButton)AnswersStackPannel.FindName("AnswerRadioButton" + i.ToString());
                            if ((bool)rb.IsChecked)
                            {
                                IsAChecked = true;
                            }
                        }
                        catch { }
                    }
                }
                if (!IsAChecked)
                {
                    MessageBox.Show("Select Correct Answer");
                    return;
                }
            }
            #endregion

            QuestionModel Question = new QuestionModel();
            Question.Answers = new List<AnswersModel>();
            Question.Images = new List<ImageModel>();
            Question.QID = CurrentQuestion;
            Question.QBody = QuestionContentRTB.Selection.Text.Trim();
            Question.HasMultipleAnswers = false;

            if (ImageDictionary.Count != 0) Question.HasImages = true;

            for (int i = 0; i < AnswersCount; i++)
            {
                if (AnswersDictionary.ContainsKey(i))
                {
                    RichTextBox tb = (RichTextBox)AnswersStackPannel.FindName("AnswerRTB" + i.ToString());
                    tb.SelectAll();
                    if (tb.Selection.Text.Trim() != "")
                    {
                        AnswersModel answer = new AnswersModel();
                        answer.QID = Question.QID;
                        answer.AID = Guid.NewGuid();
                        answer.AnswerBody = tb.Selection.Text.Trim();
                        RadioButton rb = (RadioButton)AnswersStackPannel.FindName("AnswerRadioButton" + i.ToString());
                        answer.IsCorrectAnswer = (bool)rb.IsChecked;
                        Question.Answers.Add(answer);
                    }
                }
            }
            for (int i = 0; i < ImagesCount; i++)
            {
                if (ImageDictionary.ContainsKey(i))
                {
                    try
                    {
                        byte[] picbyte = null;
                        Image img = (Image)ImagesStackPanel.FindName("QImage" + i.ToString());
                        BitmapImage bimg = (BitmapImage)img.Source;
                        if (bimg.UriSource == null)
                        {
                            picbyte = ((MemoryStream)bimg.StreamSource).ToArray();
                        }
                        else
                        {
                            FileStream fs = new FileStream(bimg.UriSource.LocalPath.ToString(), FileMode.Open, FileAccess.Read);
                            picbyte = new byte[fs.Length];
                            fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
                            fs.Close();
                        }
                        ImageModel imodel = new ImageModel();
                        imodel.QID = Question.QID;
                        imodel.ImageID = Guid.NewGuid();
                        imodel.Image = picbyte;

                        Question.Images.Add(imodel);
                    }
                    catch { }
                }
            }

            CRUDManager dm = new CRUDManager();
            if (dm.UpdateQuestion(Question))
            {
                aw.QList[ComboboxIndex] = ConvertModelToVM(Question);
                QuestionEditSelectCombobox.SelectedIndex = 0;
            }
            else
            {
                MessageBox.Show("Question Save Failed");
                return;
            }
        }