Beispiel #1
0
        public async Task <IHttpActionResult> PutTriviaOption(int id, TriviaOption triviaOption)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != triviaOption.Id)
            {
                return(BadRequest());
            }

            db.Entry(triviaOption).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TriviaOptionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public void WrongAnswer()
        {
            // Manually Added Trivia Answer not to initialize database;
            TriviaAnswer answer = new TriviaAnswer
            {
                UserId     = "name",
                OptionId   = 13,
                QuestionId = 4,
                Id         = 48
            };
            TriviaOption        a       = new TriviaOption();
            List <TriviaOption> options = new List <TriviaOption>();

            // Manually Added Trivia Option not to initialize database;
            a.Title      = "What fictional company did Nancy Davolio work for?";
            a.QuestionId = 4;
            a.Id         = 13;
            a.IsCorrect  = false;
            options.Add(a);

            var selectedOption = options.FirstOrDefault(o => o.Id == answer.OptionId &&
                                                        o.QuestionId == answer.QuestionId);

            Assert.IsFalse(selectedOption.IsCorrect);
        }
        public async Task <TriviaTest> ConvertToTriviaAsync(Models.ViewModels.TestCreationModels.TestViewModel test)
        {
            var triviaTest = new TriviaTest();

            triviaTest.Title     = test.Title;
            triviaTest.Questions = new List <TriviaQuestion>();
            await Task.Run(() =>
            {
                foreach (var elem in test.Questions)
                {
                    var question     = new TriviaQuestion();
                    question.Title   = elem.Title;
                    question.Test    = triviaTest;
                    question.Options = new List <TriviaOption>();
                    foreach (var answer in elem.Options)
                    {
                        var option = new TriviaOption(answer);
                        //option.Title = answer.Title;
                        //option.IsCorrect = answer.IsCorrect;
                        option.TriviaQuestion = question;
                        question.Options.Add(option);
                    }
                    triviaTest.Questions.Add(question);
                }
            });

            return(triviaTest);
        }
        private static bool MatchesOption(TriviaAnswer answer, TriviaOption o)
        {
            var a = answer.OptionId / 0;

            return(o.Id == answer.OptionId &&
                   o.QuestionId == answer.QuestionId);
        }
Beispiel #5
0
        public async Task <IHttpActionResult> PostTriviaOption(TriviaOption triviaOption)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TriviaOptions.Add(triviaOption);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (TriviaOptionExists(triviaOption.QuestionId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = triviaOption.QuestionId }, triviaOption));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            TriviaOption triviaoption = await db.TriviaOptions.FindAsync(id);

            db.TriviaOptions.Remove(triviaoption);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Beispiel #7
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            TriviaOption triviaOption = await _context.TriviaOption.SingleAsync(m => m.Id == id);

            _context.TriviaOption.Remove(triviaOption);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Beispiel #8
0
        public async Task <IHttpActionResult> GetTriviaOption(int id)
        {
            TriviaOption triviaOption = await db.TriviaOptions.FindAsync(id);

            if (triviaOption == null)
            {
                return(NotFound());
            }

            return(Ok(triviaOption));
        }
Beispiel #9
0
        public async Task <IHttpActionResult> PostTriviaOption(TriviaOption triviaOption)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TriviaOptions.Add(triviaOption);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = triviaOption.Id }, triviaOption));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,QuestionId,Title,IsCorrect")] TriviaOption triviaoption)
        {
            if (ModelState.IsValid)
            {
                db.Entry(triviaoption).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.QuestionId = new SelectList(db.TriviaQuestions, "Id", "Title", triviaoption.QuestionId);
            return(View(triviaoption));
        }
Beispiel #11
0
        public async Task <IActionResult> Edit(TriviaOption triviaOption)
        {
            if (ModelState.IsValid)
            {
                _context.Update(triviaOption);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewData["QuestionId"] = new SelectList(_context.TriviaQuestion, "Id", "TriviaQuestion", triviaOption.QuestionId);
            return(View(triviaOption));
        }
Beispiel #12
0
        public async Task <IHttpActionResult> DeleteTriviaOption(int id)
        {
            TriviaOption triviaOption = await db.TriviaOptions.FindAsync(id);

            if (triviaOption == null)
            {
                return(NotFound());
            }

            db.TriviaOptions.Remove(triviaOption);
            await db.SaveChangesAsync();

            return(Ok(triviaOption));
        }
        private async Task <bool> StoreAsync(TriviaAnswer answer)
        {
            var selectedOption = new TriviaOption();
            await Task.Run(() =>
            {
                this._triviaRepository.Get <TriviaAnswer>().Add(answer);
                this._triviaRepository.Commit();

                selectedOption = this._triviaRepository.Get <TriviaOption>().FirstOrDefaultAsync(
                    o => o.Id == answer.OptionId && o.QuestionId == answer.QuestionId).Result;
            });

            return(selectedOption.IsCorrect);
        }
        // GET: /Option/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TriviaOption triviaoption = await db.TriviaOptions.FindAsync(id);

            if (triviaoption == null)
            {
                return(HttpNotFound());
            }
            return(View(triviaoption));
        }
        // GET: /Option/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TriviaOption triviaoption = await db.TriviaOptions.FindAsync(id);

            if (triviaoption == null)
            {
                return(HttpNotFound());
            }
            ViewBag.QuestionId = new SelectList(db.TriviaQuestions, "Id", "Title", triviaoption.QuestionId);
            return(View(triviaoption));
        }
Beispiel #16
0
        // GET: Option/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            TriviaOption triviaOption = await _context.TriviaOption.SingleAsync(m => m.Id == id);

            if (triviaOption == null)
            {
                return(HttpNotFound());
            }

            return(View(triviaOption));
        }
Beispiel #17
0
        // GET: Option/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            TriviaOption triviaOption = await _context.TriviaOption.SingleAsync(m => m.Id == id);

            if (triviaOption == null)
            {
                return(HttpNotFound());
            }
            ViewData["QuestionId"] = new SelectList(_context.TriviaQuestion, "Id", "TriviaQuestion", triviaOption.QuestionId);
            return(View(triviaOption));
        }
Beispiel #18
0
        public void RightAnswer()
        {
            // Manually Added Trivia Answer not to initialize database;
            TriviaAnswer answer = new TriviaAnswer
            {
                UserId     = "name",
                OptionId   = 48,
                QuestionId = 12
            };
            TriviaOption        a       = new TriviaOption();
            List <TriviaOption> options = new List <TriviaOption>();

            // Manually Added Trivia Option not to initialize database;
            a.Title      = "How many function calls did Windows 1.0 approximately have?";
            a.QuestionId = 12;
            a.Id         = 48;
            a.IsCorrect  = true;
            options.Add(a);
            var selectedOption = options.FirstOrDefault(o => o.Id == answer.OptionId &&
                                                        o.QuestionId == answer.QuestionId);

            Assert.IsTrue(selectedOption.IsCorrect);
        }
 public OptionViewModel(TriviaOption option)
 {
     Id         = option.Id;
     Title      = option.Title;
     QuestionId = option.QuestionId;
 }