Пример #1
0
        public IActionResult AddAnswer(Answer answer)
        {
            var repo = new QuestionsRepository(_connectionString);

            repo.AddAnswer(answer);
            return(Redirect($"/home/viewQuestion?questionId={answer.QuestionId}"));
        }
Пример #2
0
        public void GetbyIdShouldRequestListIds()
        {
            QuestionsRepository target = new QuestionsRepository(StackClientFactoryMock.Object);

            StackClient.Setup(c =>
                c.GetQuestions(It.Is<IEnumerable<int>>(arr => arr.IsEqual(new[] { 0, 1, 2, 3, 4, 5 })), It.IsAny<int?>(), It.IsAny<int?>(), false, false, null, null, null, null, null))
                .Returns(new PagedList<Question>(new List<Question>() {
                        new Question {Id = 1},
                        new Question {Id = 2},
                        new Question {Id = 3},
                        new Question {Id = 4},
                        new Question {Id = 5},
                        new Question {Id = 6}}

                ) { PageSize = 6, TotalItems = 6 });

            int[] ids = new[] { 0, 1, 2, 3, 4, 5 };

            List<QuestionInfo> actual;
            actual = target.Get("siteaddr", ids);

            StackClient.VerifyAll();
            var expected = new List<QuestionInfo>() {
                        new QuestionInfo {Id = 1},
                        new QuestionInfo {Id = 2},
                        new QuestionInfo {Id = 3},
                        new QuestionInfo {Id = 4},
                        new QuestionInfo {Id = 5},
                        new QuestionInfo {Id = 6}
                    };

            CollectionAssert.AreEqual(expected, actual);
        }
Пример #3
0
 public UnitofWork(ApplicationDbContext dbContext)
 {
     applicationDbContext = dbContext;
     Questions            = new QuestionsRepository(applicationDbContext);
     Tags    = new TagsRepository(applicationDbContext);
     Answers = new AnswersRepository(applicationDbContext);
 }
Пример #4
0
        public IActionResult GetLikes(int id)
        {
            var repo  = new QuestionsRepository(_connectionString);
            int likes = repo.GetLikes(id);

            return(Json(likes));
        }
Пример #5
0
        public IActionResult AddQuestion(Question question, string tagString)
        {
            var repo = new QuestionsRepository(_connectionString);

            repo.AddQuestion(question, tagString);
            return(Redirect("/"));
        }
        public IActionResult AddAnswer(Answer answer)
        {
            var repository = new QuestionsRepository(_conn);

            repository.AddAnswer(answer);
            return(Redirect($"/home/questionpage?id={answer.Id}"));
        }
        public IActionResult SubmitQuestion(Question q, IEnumerable <string> tags)
        {
            var repository = new QuestionsRepository(_conn);

            repository.AddQuestion(q, tags);
            return(Redirect("/home/index"));
        }
Пример #8
0
        public IActionResult SignUp(User user)
        {
            var repository = new QuestionsRepository(_conn);

            repository.AddUser(user);
            return(Redirect("/account/login"));
        }
Пример #9
0
        public void GetById_WhenQuestionNotExists_ReturnsNull()
        {
            var questionsRepository = new QuestionsRepository();
            var gotQuestion         = questionsRepository.GetById(9999);

            Assert.IsNull(gotQuestion);
        }
 public LmPlatformRepositoriesContainer()
 {
     UsersRepository                   = new UsersRepository(_dataContext);
     BugsRepository                    = new BugsRepository(_dataContext);
     BugLogsRepository                 = new BugLogsRepository(_dataContext);
     GroupsRepository                  = new GroupsRepository(_dataContext);
     ProjectsRepository                = new ProjectsRepository(_dataContext);
     ProjectUsersRepository            = new ProjectUsersRepository(_dataContext);
     ProjectCommentsRepository         = new ProjectCommentsRepository(_dataContext);
     StudentsRepository                = new StudentsRepository(_dataContext);
     SubjectRepository                 = new SubjectRepository(_dataContext);
     TestsRepository                   = new TestsRepository(_dataContext);
     TestUnlocksRepository             = new TestUnlockRepository(_dataContext);
     QuestionsRepository               = new QuestionsRepository(_dataContext);
     UsersRepository                   = new UsersRepository(_dataContext);
     ModulesRepository                 = new ModulesRepository(_dataContext);
     LecturerRepository                = new LecturerRepository(_dataContext);
     MessageRepository                 = new MessageRepository(_dataContext);
     MaterialsRepository               = new MaterialsRepository(_dataContext);
     FoldersRepository                 = new FoldersRepository(_dataContext);
     SubGroupRepository                = new SubGroupRepository(_dataContext);
     AttachmentRepository              = new AttachmentRepository(_dataContext);
     LecturesRepository                = new LecturesRepository(_dataContext);
     LabsRepository                    = new LabsRepository(_dataContext);
     ProjectUsersRepository            = new ProjectUsersRepository(_dataContext);
     PracticalRepository               = new PracticalRepository(_dataContext);
     ConceptRepository                 = new ConceptRepository(_dataContext);
     WatchingTimeRepository            = new WatchingTimeRepository(_dataContext);
     TestQuestionPassResultsRepository = new TestQuestionPassResultsRepository(_dataContext);
     //todo UNUSED ProjectMatrixRequirementsRepository = new ProjectMatrixRequirementsRepository(_dataContext);
 }
Пример #11
0
        public IActionResult Login(User user)
        {
            var  repository = new QuestionsRepository(_conn);
            User u          = repository.GetUser(user);

            if (u == null)
            {
                return(Redirect("/account/login"));
            }

            else if (!repository.Match(user.Password, u.Password))
            {
                return(Redirect("/account/login"));
            }

            var claims = new List <Claim>
            {
                new Claim("user", user.Email)
            };

            HttpContext.SignInAsync(new ClaimsPrincipal(
                                        new ClaimsIdentity(claims, "Cookies", "user", "role"))).Wait();


            return(Redirect("/home/index"));
        }
Пример #12
0
        public IActionResult SignUp(User user, string password)
        {
            var repo = new QuestionsRepository(_connectionString);

            repo.AddUser(user, password);
            return(Redirect("/account/login"));
        }
        protected Question SaveQuestion(User user)
        {
            var question = QuestionsFactory.CreateQuestion(user);

            QuestionsRepository.Save(question);
            return(question);
        }
        /// <summary>
        ///     Génère un quizz
        /// </summary>
        /// <param name="createQuizzDto">Objetc quizz à créer</param>
        /// <param name="nbreQuestion">Nombre de questions composant le quizz</param>
        /// <returns></returns>
        public FindQuizzDto GenerateQuizz(CreateQuizzDto createQuizzDto, int nbreQuestion)
        {
            // Récupère le nombre de questions par niveau de difficultés
            string key = TransformeIdLevelToString(createQuizzDto.IdLevel);
            double nbreQuestionJunior   = Math.Round(nbreQuestion * Double.Parse(ConfigurationManager.AppSettings.Get(key + "_junior")));
            double nbreQuestionConfirme = Math.Round(nbreQuestion * Double.Parse(ConfigurationManager.AppSettings.Get(key + "_confirme")));
            double nbreQuestionExpert   = nbreQuestion - nbreQuestionJunior - nbreQuestionConfirme;

            // Récupère les questions du quizz
            QuestionsRepository repoQuestion = new QuestionsRepository(new QueryBuilder());
            List <Question>     questions    = new List <Question>();

            questions.AddRange(repoQuestion.GenererQuestionQuizz(ID_JUNIOR, createQuizzDto.IdCategory, (int)nbreQuestionJunior));
            questions.AddRange(repoQuestion.GenererQuestionQuizz(ID_CONFIRME, createQuizzDto.IdCategory, (int)nbreQuestionConfirme));
            questions.AddRange(repoQuestion.GenererQuestionQuizz(ID_EXPERT, createQuizzDto.IdCategory, (int)nbreQuestionExpert));

            // Creation et enregistrement du quizz
            Quizz quizz = new Quizz(null, GenerateCode(12), null, createQuizzDto.IdCategory, createQuizzDto.IdLevel, createQuizzDto.IdUser, createQuizzDto.IdCandidate);

            quizz = quizzRepository.Create(quizz);

            // Enregistrement des questions du quizz
            PersisteQuizzQuestion(questions, quizz);

            return(TransformModelToDto(quizz));
        }
Пример #15
0
        public void GetById_WhenQuestionNotExists_ReturnsNull()
        {
            var questionsRepository = new QuestionsRepository();
            var gotQuestion = questionsRepository.GetById(9999);

            Assert.IsNull(gotQuestion);
        }
Пример #16
0
        private List <QuestionEntity> SelectAllByFactors()
        {
            try
            {
                using (var repository = new QuestionsRepository())
                {
                    repository.Order = OrderType.Descending;
                    repository.Sort  = SortType.Creation;
                    //repository.FromDate =
                    //repository.ToDate =
                    //repository.Min =
                    //repository.Max =
                    repository.Page     = 1;
                    repository.PageSize = 50;
                    return(repository.SelectItemsFiltered());
                }
            }
            catch (Exception ex)
            {
                //Log exception error
                _loggingHandler.LogEntry(ExceptionHandler.GetExceptionMessageFormatted(ex), true);

                lblOperationResult.Text = "Sorry, loading All Questions operation failed." + Environment.NewLine + ex.Message;
            }

            return(null);
        }
Пример #17
0
        public void AddQuestionLike(int questionId)
        {
            var userRepo     = new UserRepository(_connectionString);
            var user         = userRepo.GetByEmail(User.Identity.Name);
            var questionRepo = new QuestionsRepository(_connectionString);

            questionRepo.AddQuestionLike(questionId, user.Id);
        }
Пример #18
0
        public void Like(int id)
        {
            var repo   = new QuestionsRepository(_connectionString);
            var email  = User.Identity.Name;
            var userId = repo.GetByEmail(email).Id;

            repo.AddLike(id, userId);
        }
Пример #19
0
        public IActionResult AddLike(int questionId)
        {
            var repository = new QuestionsRepository(_conn);
            var u          = repository.GetUserByEmail(User.Identity.Name);

            repository.AddLike(questionId, u);
            return(Redirect($"/home/questionpage?id={questionId}"));
        }
Пример #20
0
        public IActionResult Add(Question question, IEnumerable <string> tags)
        {
            question.DatePosted = DateTime.Now;
            var repo = new QuestionsRepository(_connectionString);

            repo.AddQuestion(question, tags);
            return(Redirect("/questions"));
        }
Пример #21
0
        public void GetById_WhenQuestionExists_ReturnsTheQuestion()
        {
            var stubQuestion = new Question();

            var questionsRepository = new QuestionsRepository {stubQuestion};
            var gotQuestion = questionsRepository.GetById(stubQuestion.Id);

            Assert.AreEqual(stubQuestion,gotQuestion);
        }
Пример #22
0
        public IActionResult Add(Question question, List <string> tags)
        {
            question.UserId     = GetCurrentUserId().Value;
            question.DatePosted = DateTime.Now;
            var repo = new QuestionsRepository(_connectionString);

            repo.AddQuestion(question, tags);
            return(Redirect("/home/index"));
        }
Пример #23
0
    public void GetShouldFilterBySite()
    {
        QuestionsRepository target = new QuestionsRepository(m_EntitiesMock.Object);

        m_EntitiesMock.Setup(e => e.Questions).Returns(new [] {
            new Question {
                Site = "site1", QuestionId = 1, Date = new DateTime(2010, 06, 23)
            },
        }.AsQueryable());
    }
Пример #24
0
 public QuizzesService(
     QuizerContext context,
     Auth0ManagementFactory auth0ManagementFactory
     ) : base(context)
 {
     _quizzesRepository      = new QuizzesRepository(context);
     _questionsRepository    = new QuestionsRepository(context);
     _quizAccessesRepository = new QuizAccessesRepository(context);
     _auth0UsersService      = new Auth0UsersService(auth0ManagementFactory);
 }
Пример #25
0
        public IActionResult Index()
        {
            var repo = new QuestionsRepository(_connectionString);
            var vm   = new IndexViewModel()
            {
                Questions = repo.GetQuestions()
            };

            return(View(vm));
        }
Пример #26
0
        public IActionResult Add(Question q, List <string> tags)
        {
            var questionRepo = new QuestionsRepository(_connectionString);
            var usersRepo    = new UsersRepository(_connectionString);

            q.User       = usersRepo.GetUserByEmail(User.Identity.Name);
            q.DatePosted = DateTime.Now;
            questionRepo.AddQuestion(q, tags);
            return(Redirect("Home/Index"));
        }
Пример #27
0
        public IActionResult AddAnswer(Answer answer)
        {
            var repo = new QuestionsRepository(_connectionString);

            answer.DateAnswered = DateTime.Now;
            answer.UserId       = GetCurrentUserId().Value;
            repo.AddAnswer(answer);
            return(this.RedirectToAction
                       ("ViewQuestion", new { id = $"{answer.QuestionId}" }));
        }
Пример #28
0
        public IActionResult ViewQuestion(int id)
        {
            var repo = new QuestionsRepository(_connectionString);
            var vm   = new ViewQuestionViewModel();

            vm.Question = repo.GetQuestionById(id);
            vm.AskedBy  = repo.GetUserNameById(vm.Question.UserId);
            vm.CanLike  = repo.CanLike(id, GetCurrentUserId().Value);
            return(View(vm));
        }
Пример #29
0
        public void GetById_WhenQuestionExists_ReturnsTheQuestion()
        {
            var stubQuestion = new Question();

            var questionsRepository = new QuestionsRepository {
                stubQuestion
            };
            var gotQuestion = questionsRepository.GetById(stubQuestion.Id);

            Assert.AreEqual(stubQuestion, gotQuestion);
        }
Пример #30
0
        public UnitOfWork(IDbContextFactory <KhaoSatDbContext> dbContextFactory, Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor)
        {
            _dbContext = dbContextFactory.GetContext();

            UserAnswersRepository = new UserAnswersRepository(_dbContext);
            UserRepository        = new UserRepository(_dbContext);
            UserSurveysRepository = new UserSurveysRepository(_dbContext);
            SurveysRepository     = new SurveyRepository(_dbContext);
            AnswerRepository      = new AnswerRepository(_dbContext);
            QuestionsRepository   = new QuestionsRepository(_dbContext);
        }
Пример #31
0
 public SolvingQuizzesService(
     QuizerContext context,
     StatisticsService statisticsService,
     Auth0ManagementFactory auth0ManagementFactory
     ) : base(context)
 {
     _quizzesRepository   = new QuizzesRepository(context);
     _questionsRepository = new QuestionsRepository(context);
     _statisticsService   = statisticsService;
     _auth0UsersService   = new Auth0UsersService(auth0ManagementFactory);
 }
Пример #32
0
        public IActionResult Add(Question question, IEnumerable <string> tags)
        {
            var repo = new QuestionsRepository(_connectionString);

            question.DatePosted = DateTime.Now;
            var email = User.Identity.Name;

            question.UserId = repo.GetByEmail(email).Id;
            repo.AddQuestion(question, tags);
            return(RedirectToAction("Index"));
        }
Пример #33
0
        public IActionResult AddAnswer(Answer answer)
        {
            var repo = new QuestionsRepository(_connectionString);

            answer.DateAnswered = DateTime.Now;
            var email = User.Identity.Name;

            answer.UserId = repo.GetByEmail(email).Id;
            repo.AddAnswer(answer);
            return(Redirect($"/home/ViewQuestion?id={answer.QuestionId}"));
        }
Пример #34
0
        public void GetShouldReturnListOfQuestionsOnePage()
        {
            QuestionsRepository target = new QuestionsRepository(StackClientFactoryMock.Object);

            StackClient.Setup(c =>
                c.GetQuestionsByUser(c_TestId, QuestionsByUserSort.Activity, SortDirection.Descending, 1, ApiSettings.PageSize, false, false, null, null, null, null, null))
                .Returns(new PagedList<Question>(new List<Question>() {
                        new Question {Id = 1},
                        new Question {Id = 2}}
                ) { PageSize = 2, TotalItems = 2 });

            List<QuestionInfo> actual;
            actual = target.Get("siteaddr", c_TestId);

            StackClient.VerifyAll();
            var expected = new List<QuestionInfo>() {
                        new QuestionInfo {Id = 1},
                        new QuestionInfo {Id = 2}
                    };

            CollectionAssert.AreEqual(expected, actual);
        }