Ejemplo n.º 1
0
        public ActionResult CreateQuizItem(int id)
        {
            var service = new QuizService();
            var model   = service.InitializeEditQuizItemModel(id, null);

            return(View("Quiz/CreateQuizItem", model));
        }
Ejemplo n.º 2
0
        public void DeleteQuizCorrect()
        {
            var quiz = new Quiz
            {
                Id   = 1,
                Naam = "Quiz 1"
            };

            //Arange
            var unitOfWork = new Mock <ITeamQuizRondeUnitOfWork>();

            unitOfWork.Setup(x => x.QuizRepository.Remove(1)).Returns(true);
            var quizService = new QuizService(unitOfWork.Object);

            //Act
            var quizDTO = new QuizDTO
            {
                Id   = 1,
                Naam = "Quiz 1"
            };

            //Assert
            Assert.IsFalse(quizService.Delete(1).DidError);

            Assert.IsTrue(quizService.FindQuiz(quiz.Id).DidError);
            Assert.IsNull(quizService.FindQuiz(quiz.Id).DTO);
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            courseId = Request.QueryString["csid"];
            lessonId = Request.QueryString["lsid"];

            if (!IsPostBack)
            {
                ScormRepeater.DataSource = ScormService.LoadAllScorms(SessionVariable.Current.Company.Id).OrderBy(x => x.Name);
                ScormRepeater.DataBind();

                QuizRepeater.DataSource = QuizService.LoadAllQuizzes(SessionVariable.Current.Company.Id).OrderBy(x => x.Title);
                QuizRepeater.DataBind();

                var lesson = LessonService.GetLessonById(SessionVariable.Current.Company.Id, courseId, lessonId);
                if (lesson != null)
                {
                    LessonName.Text  = lesson.Name;
                    Description.Text = lesson.Description;

                    if (lesson.Course.CourseType == CourseTypeEnum.External)
                    {
                        Panel1.Visible = false;
                    }
                    else
                    {
                        CurriculumType.SelectedValue = ((int)lesson.LessonType).ToString();
                        ScormId.Value = lesson.ScormId;
                        QuizId.Value  = lesson.QuizId;
                    }
                }
            }
        }
Ejemplo n.º 4
0
            public async Task ExecuteGroupAsync(CommandContext ctx,
                                                [Description("desc-game-quiz-cat-id")] int id,
                                                [Description("desc-game-quiz-amount")] int amount = 10,
                                                [Description("desc-game-quiz-diff")] int diff     = 0)
            {
                if (amount is < 5 or > 20)
                {
                    throw new CommandFailedException(ctx, "cmd-err-game-quiz-amount", 5, 20);
                }

                if (diff is < 0 or > 2)
                {
                    throw new CommandFailedException(ctx, "cmd-err-game-quiz-diff");
                }

                if (this.Service.IsEventRunningInChannel(ctx.Channel.Id))
                {
                    throw new CommandFailedException(ctx, "cmd-err-evt-dup");
                }

                IReadOnlyList <QuizQuestion>?questions = await QuizService.GetQuestionsAsync(id, amount, (QuestionDifficulty)diff);

                if (questions is null || !questions.Any())
                {
                    throw new CommandFailedException(ctx, "cmd-err-game-quiz-cat");
                }

                var quiz = new QuizGame(ctx.Client.GetInteractivity(), ctx.Channel, questions);

                await this.RunQuizAsync(ctx, quiz);
            }
Ejemplo n.º 5
0
        protected async Task <bool> TrySavingChanges()
        {
            if (Id == 0)
            {
                var addedQuiz = await QuizService.AddQuiz(OneQuiz);

                if (addedQuiz != null)
                {
                    Console.WriteLine("Id:{0}", addedQuiz.Id);
                    Id          = addedQuiz.Id;
                    OneQuiz.Id  = addedQuiz.Id;
                    StatusClass = "uk-text-success";
                    Message     = "New playlist added successfully";
                    StateHasChanged();
                    return(true);
                }
                else
                {
                    StatusClass = "uk-text-danger";
                    Message     = "Something went wrong";
                    return(false);
                }
            }
            else
            {
                await QuizService.UpdateQuiz(OneQuiz);

                StatusClass = "uk-text-success";
                Message     = "Playlist updated successfully";
                StateHasChanged();
                return(true);
            }
        }
Ejemplo n.º 6
0
        public async Task <ActionResult> Play(string id)
        {
            var quizSubmissionId = Guid.NewGuid().ToString();
            var quiz             = await QuizService.GetQuiz(id);

            var model = new Play
            {
                Id             = quizSubmissionId,
                QuizzardUserId = User.Identity.GetUserId(),
            };



            var partialList = new List <ViewWrapper>();

            foreach (var question in quiz.Questions)
            {
                using (var container = AutofacSetup.Container.BeginLifetimeScope())
                {
                    var controller            = container.ResolveKeyed <QuestionBaseController>(question.QuestionTypeId);
                    var emptySubmissionAnswer = new QuizSubmissionAnswerModel(quizSubmissionId, question);
                    model.Answers.Add(emptySubmissionAnswer);
                    controller.ContextualizeController(nameof(controller.QuestionPlayView));
                    var result = await controller.QuestionPlayView(emptySubmissionAnswer);

                    var viewLocations = result.ViewEngineCollection.FindPartialView(controller.ControllerContext, result.ViewName);
                    result.View = viewLocations.View;
                    model.QuestionPartials.Add(new ViewWrapper((RazorView)viewLocations.View, result.Model));
                }
            }
            model.Quiz   = quiz;
            model.QuizId = quiz.Id;

            return(View(model));
        }
Ejemplo n.º 7
0
        public void Setup()
        {
            var questions = new List <Question>()
            {
                new Question(Guid.NewGuid(), "Question 1", new List <QuestionAnswer>()
                {
                    new QuestionAnswer(Guid.NewGuid(), "", true)
                }),
                new Question(Guid.NewGuid(), "Question 2", new List <QuestionAnswer>()
                {
                    new QuestionAnswer(Guid.NewGuid(), "", true)
                }),
                new Question(Guid.NewGuid(), "Question 3", new List <QuestionAnswer>()
                {
                    new QuestionAnswer(Guid.NewGuid(), "", true)
                }),
                new Question(Guid.NewGuid(), "Question 4", new List <QuestionAnswer>()
                {
                    new QuestionAnswer(Guid.NewGuid(), "", true)
                }),
            };

            var questionRepo = Substitute.For <IQuestionRepository>();

            questionRepo.GetAll().ReturnsForAnyArgs(questions);

            var validator = new StartQuizCommandValidator();

            _service = new QuizService(questionRepo, validator);
        }
Ejemplo n.º 8
0
        public ActionResult DeleteQuiz(int id, string test)
        {
            var service = new QuizService();

            service.DeleteQuiz(id);
            return(RedirectToAction("ManageQuiz"));
        }
Ejemplo n.º 9
0
        public async Task GetQuestionsAsyncTest()
        {
            IReadOnlyList <QuizQuestion> questions;

            questions = await QuizService.GetQuestionsAsync(9);

            Assert.IsNotNull(questions);
            Assert.AreEqual(10, questions.Count);
            CollectionAssert.AllItemsAreNotNull(questions);
            CollectionAssert.AllItemsAreUnique(questions);

            questions = await QuizService.GetQuestionsAsync(9, 5);

            Assert.IsNotNull(questions);
            Assert.AreEqual(5, questions.Count);
            CollectionAssert.AllItemsAreNotNull(questions);
            CollectionAssert.AllItemsAreUnique(questions);

            questions = await QuizService.GetQuestionsAsync(9, 5, QuestionDifficulty.Hard);

            Assert.IsNotNull(questions);
            Assert.AreEqual(5, questions.Count);
            CollectionAssert.AllItemsAreNotNull(questions);
            CollectionAssert.AllItemsAreUnique(questions);

            Assert.IsNull(await QuizService.GetQuestionsAsync(50000));

            Assert.ThrowsAsync(typeof(ArgumentException), () => QuizService.GetQuestionsAsync(-1));
            Assert.ThrowsAsync(typeof(ArgumentException), () => QuizService.GetQuestionsAsync(9, -1));
            Assert.ThrowsAsync(typeof(ArgumentException), () => QuizService.GetQuestionsAsync(9, 0));
            Assert.ThrowsAsync(typeof(ArgumentException), () => QuizService.GetQuestionsAsync(9, 100));
            Assert.ThrowsAsync(typeof(ArgumentException), () => QuizService.GetQuestionsAsync(9, 21));
        }
Ejemplo n.º 10
0
        public ActionResult EditQuiz(Models.Quiz.QuizEditModel model)
        {
            var service = new QuizService();

            service.UpdateQuiz(model);
            return(RedirectToAction("QuizDetails", new { id = model.QuizId }));
        }
Ejemplo n.º 11
0
        public ActionResult DeleteQuiz(int id)
        {
            var service = new QuizService();
            var model   = service.GetQuizEditModel(id);

            return(View("Quiz/Delete", model));
        }
Ejemplo n.º 12
0
        public ActionResult DeleteQuizItem(int id)
        {
            var service = new QuizService();
            var quizId  = service.DeleteQuizItem(id);

            return(RedirectToAction("EditQuizItems", new { id = quizId }));
        }
Ejemplo n.º 13
0
        public ActionResult EditQuizItem(int quizId, int itemId)
        {
            var service = new QuizService();
            var model   = service.InitializeEditQuizItemModel(quizId, itemId);

            return(View("Quiz/EditQuizItem", model));
        }
Ejemplo n.º 14
0
        public ActionResult CreateQuizItem(Models.Quiz.QuizItemEditModel model)
        {
            var service = new QuizService();

            service.CreateNewQuizItemModel(model);
            return(RedirectToAction("EditQuizItems", new { id = model.QuizId }));
        }
Ejemplo n.º 15
0
        public async Task GetAll_SimpleCase()
        {
            //Assumption:  At this point, order of the quizzes isn't important.

            var databaseContext = QuizTestData.GetPopulatedDatabase();
            var quizManager     = new Mock <IQuizManager>();

            var quizService = new QuizService(databaseContext, quizManager.Object);

            var quizzes = await quizService.GetAll();

            Assert.IsNotNull(quizzes);
            Assert.AreEqual(databaseContext.Quizzes.Count(), quizzes.Count);
            Assert.AreEqual(databaseContext.Quizzes.Count(), quizzes.TotalCount);
            HashSet <long> previousIds = new HashSet <long>();

            foreach (QuizTerseDto quiz in quizzes.Data)
            {
                Assert.IsTrue(quiz.Id == QuizTestData.WeightQuiz.Id ||
                              quiz.Id == QuizTestData.PersonalityQuiz.Id ||
                              quiz.Id == QuizTestData.DisneyPrincessQuiz.Id);

                //Check for duplicates.
                Assert.IsFalse(previousIds.Contains(quiz.Id));

                previousIds.Add(quiz.Id);
            }
        }
Ejemplo n.º 16
0
        protected void CreateBtn_Click(object sender, EventArgs e)
        {
            QuizService.CreateQuiz(SessionVariable.Current.Company.Id, SessionVariable.Current.User.Id,
                                   NameTextBox.Text, DescriptionTextBox.Text, float.Parse(PassPercentTextBox.Text));

            Response.Redirect("QZ0001");
        }
Ejemplo n.º 17
0
        public async Task GetAll_Should_Return_List_of_Quizzes()
        {
            using var dbContext = GetDbContext();
            var mapper      = GetMapper();
            var instructors = dbContext.Users.ToList();

            Assert.NotEmpty(instructors);

            var instructor = instructors.FirstOrDefault();

            // Arrange
            dbContext.Quizzes.Add(new QuizDbEntity {
                Name = "TDD Quiz", InstructorId = instructor.Id, IsActive = true
            });
            dbContext.Quizzes.Add(new QuizDbEntity {
                Name = "Design 2", InstructorId = instructor.Id, IsActive = true
            });
            await dbContext.SaveChangesAsync();

            // Act
            var service = new QuizService(dbContext, mapper);
            var result  = service.GetAll();

            // Assert
            Assert.NotNull(result);
            //Assert.Equal(4, result.Count);
            Assert.NotEmpty(result);
        }
        public ActionResult ContinueStudy(int id, string type = null)
        {
            IQuizService          quizService           = new QuizService();
            ITrainingService      trainingService       = new TrainingService();
            IAccountService       accountService        = new AccountService();
            IModuleService        moduleService         = new ModuleService();
            List <TrainingAccess> trainingListForModule = new List <TrainingAccess>();
            List <QuizTransfer>   quizListForModule     = new List <QuizTransfer>();
            AccountModuleAccess   accountModule         = new AccountModuleAccess();
            string userName = User.Identity.Name;

            //save data in Account_Module table
            accountModule.AccountId = accountService.GetAccountId(userName);
            accountModule.ModuleId  = id;
            accountModule.Status    = "pass";
            if (type == null)
            {
                moduleService.TakeModule(accountModule);
            }



            //get quiz and training list for the module assigned by customers
            trainingListForModule = trainingService.GetTrainingDataForModule(id);
            quizListForModule     = quizService.GetQuizForModule(id);

            Session["trainingListForModule"] = trainingListForModule;
            Session["quizListForModule"]     = quizListForModule;
            return(View());
        }
Ejemplo n.º 19
0
        protected async void PageIndexChanged(PaginatedList <QuizTopic> context, int newPageNumber)
        {
            if (newPageNumber < 1 || newPageNumber > context.TotalPages)
            {
                return;
            }

            var cptr = context.Items.Count;

            var filters = new Dictionary <string, string>();

            var data = await QuizService.GetQuizzes(pageNumber : newPageNumber, filters : filters);

            foreach (var elm in data.Items)
            {
                context.Items.Add(elm);
            }

            context.Items.RemoveRange(0, cptr);

            context.PageIndex  = data.PageIndex;
            context.TotalPages = data.TotalPages;

            StateHasChanged();
        }
Ejemplo n.º 20
0
        public async Task <IActionResult> PostAsync([FromBody] ResultViewModel model)
        {
            if (model == null)
            {
                return(new StatusCodeResult(500));
            }

            if (!await ResultService.Exists(model.QuizId))
            {
                return(NotFound(new { Error = String.Format("Result ID {0} has not been found", model.Id) }));
            }

            if (!await QuizService.Exists(model.QuizId))
            {
                return(NotFound(new { Error = String.Format("Quiz ID {0} has not been found", model.QuizId) }));
            }

            ResultDetailsServiceModel result = await ResultService.Update(
                model.Id,
                model.Text,
                model.MinValue,
                model.MaxValue,
                model.QuizId);

            return(new JsonResult(Mapper.Map <ResultDetailsServiceModel, ResultViewModel>(result), JsonSettings));
        }
Ejemplo n.º 21
0
        public void Add_quiz_to_database()
        {
            var options = new DbContextOptionsBuilder <QuizDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_quiz_to_database")
                          .Options;

            using (var context = new QuizDbContext(options))
            {
                var  service = new QuizService(context);
                Quiz q1      = new Quiz {
                    Name = "AAA", Id = 1
                };
                Quiz q2 = new Quiz {
                    Name = "BBB", Id = 2
                };

                service.CreateQuiz(q1);
                service.CreateQuiz(q2);
            }

            using (var context = new QuizDbContext(options))
            {
                var numberOfQuizesInDb = context.Quiz.Count();
                numberOfQuizesInDb.Should().Be(2);
            }
        }
Ejemplo n.º 22
0
        protected void EditBtn_Click(object sender, EventArgs e)
        {
            QuizService.EditQuiz(SessionVariable.Current.Company.Id, SessionVariable.Current.User.Id, quizId,
                                 NameTextBox.Text, DescriptionTextBox.Text, float.Parse(PassPercentTextBox.Text));

            Response.Redirect(Request.RawUrl);
        }
Ejemplo n.º 23
0
            public async Task ExecuteGroupAsync(CommandContext ctx)
            {
                IReadOnlyList <QuizCategory>?categories = await QuizService.GetCategoriesAsync();

                string catStr = categories?.Select(c => $"- {Formatter.Bold(c.Name)} (ID: {c.Id})").JoinWith() ?? "";
                await ctx.ImpInfoAsync(this.ModuleColor, Emojis.Question, "fmt-game-quiz-cat", catStr);
            }
Ejemplo n.º 24
0
        public async Task <ActionResult> SaveQuestion(QuestionModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_AlertSaveFailed"));
            }
            model.QuestionTypeId = Constants.QuestionTypes.FreeText;
            if (model.QuizId == null)
            {
                await SaveUserQuestion(model);
            }
            try
            {
                bool success;
                if (!QuizService.QuestionExists(model.Id))
                {
                    success = await QuizService.AddQuestion(model.QuizId, model);
                }
                else
                {
                    success = await QuizService.EditQuestion(model.Id, model);
                }

                if (!success)
                {
                    return(PartialView("_AlertSaveFailed"));
                }
            }
            catch (Exception e)
            {
                return(PartialView("_AlertSaveFailed"));
            }
            return(PartialView("_AlertSaveSuccess"));
        }
Ejemplo n.º 25
0
        private void RefreshQuiz()
        {
            try
            {
                curQuiz = QuizService.GetQuiz();
                curQuiz?.init();
            }
            catch (Exception e)
            {
                e.CopeWith("get quiz");
                return;
            }

            quest.OutlineColor            = Color.Silver;
            quest.BackgroundColor         = Color.White;
            (quest.Content as Label).Text = curQuiz.quest;

            int a = 0;

            foreach (var f in choices)
            {
                f.OutlineColor            = Color.Silver;
                f.BackgroundColor         = Color.White;
                (f.Content as Label).Text = curQuiz.choices[a++].Item1;
            }
            foreach (var l in chdess)
            {
                l.Text = " ";
            }
        }
Ejemplo n.º 26
0
 public QuizziesPage(int quizCount)
 {
     InitializeComponent();
     this.QuizCount = quizCount;
     service        = new QuizService();
     getQuizzes();
 }
Ejemplo n.º 27
0
        public void AddQuizCorrect()
        {
            var quiz = new Quiz
            {
                Id           = 1,
                Naam         = "Quiz 1",
                EmailCreator = "*****@*****.**"
            };

            //Arange
            var unitOfWork = new Mock <ITeamQuizRondeUnitOfWork>();

            unitOfWork.Setup(x => x.QuizRepository.Add(It.IsAny <Quiz>())).Returns(quiz);
            var quizService = new QuizService(unitOfWork.Object);

            //Act
            var quizDTO = new QuizDTO
            {
                Id           = 1,
                Naam         = "Quiz 1",
                EmailCreator = "*****@*****.**"
            };

            //Assert
            Assert.IsFalse(quizService.AddQuiz(quizDTO).DidError);
            Assert.That(quizService.AddQuiz(quizDTO).DTO.EmailCreator, Is.EqualTo(quizDTO.EmailCreator));
            Assert.That(quizService.AddQuiz(quizDTO).DTO.Id, Is.EqualTo(quizDTO.Id));
            Assert.That(quizService.AddQuiz(quizDTO).DTO.Naam, Is.EqualTo(quizDTO.Naam));
        }
        public async Task CheckGettingTheSkinQuizAsync()
        {
            ApplicationDbContext db = GetDb();

            var repository = new EfDeletableEntityRepository <QuizQuestion>(db);
            var service    = new QuizService(repository);

            var firstQuestion = new QuizQuestion()
            {
                Id = Guid.NewGuid().ToString()
            };
            var secondQuestion = new QuizQuestion()
            {
                Id = Guid.NewGuid().ToString()
            };
            var thirdQuestion = new QuizQuestion()
            {
                Id = Guid.NewGuid().ToString()
            };

            await db.QuizQuestions.AddAsync(firstQuestion);

            await db.QuizQuestions.AddAsync(secondQuestion);

            await db.QuizQuestions.AddAsync(thirdQuestion);

            await db.SaveChangesAsync();

            var quiz = await service.GetQuizAsync <TestQuizModel>();

            Assert.Equal(3, quiz.Count());
        }
Ejemplo n.º 29
0
        public async Task GetCategories_Should_ReturnAllCategories()
        {
            var options = new DbContextOptionsBuilder <DataContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            using (var context = new DataContext(options))
            {
                var service = new QuizService(context);

                context.Categories.Add(new Category()
                {
                    Id = 1, Name = "TestCategory", Questions = new List <Question>()
                });
                context.Categories.Add(new Category()
                {
                    Id = 2, Name = "TestCategory2", Questions = new List <Question>()
                });
                context.SaveChanges();

                var categories = service.GetCategories();

                categories.Count.Should().Be(2);
                categories[0].Name.Should().Be("TestCategory");
            }
        }
Ejemplo n.º 30
0
        public ActionResult EditQuizItems(int id)
        {
            var service = new QuizService();
            var model   = service.GetQuizEditModel(id);

            return(View("Quiz/EditQuizItems", model));
        }