public IActionResult AddSignUp(User user, string password) { user.PassWord = BCrypt.Net.BCrypt.HashPassword(password); StackRepository repo = new StackRepository(_connectionString); repo.AddUser(user); return(Redirect("/home/index")); }
public IActionResult LikeQuestion(int questionId) { StackRepository repo = new StackRepository(_connectionString); User user = repo.GetUserByEmail(User.Identity.Name); int likes = repo.AddLikedQuestion(questionId, user.Id); return(Json(new { Likes = likes })); }
public IActionResult AddAnswer(Answer answer) { StackRepository repo = new StackRepository(_connectionString); answer.UserId = repo.GetUserByEmail(User.Identity.Name).Id; answer.Date = DateTime.Now; repo.AddAnswer(answer); return(Redirect($"/home/viewquestion?questionid={answer.QuestionId}")); }
public IActionResult ViewQuestion(int questionId) { StackRepository repo = new StackRepository(_connectionString); ViewQuestionModel vm = new ViewQuestionModel(); vm.Question = repo.GetQuestionById(questionId); vm.User = repo.GetUserByEmail(User.Identity.Name); return(View(vm)); }
public IActionResult Index() { StackRepository repo = new StackRepository(_connectionString); IndexViewModel vm = new IndexViewModel(); vm.Questions = repo.GetQuestions(); return(View(vm)); }
public IActionResult AddQuestion(Question question, IEnumerable <string> tags) { StackRepository repo = new StackRepository(_connectionString); question.Date = DateTime.Now; question.UserId = repo.GetUserByEmail(User.Identity.Name).Id; repo.AddQuestion(question); repo.AddQuestionTags(tags, question.Id); return(Redirect("/home/index")); }
public IActionResult AddLogIn(string email, string password, string returnUrl) { StackRepository repo = new StackRepository(_connectionString); User user = repo.VerifyLogIn(email, password); if (user == null) { return(Redirect("/home/login")); } var claims = new List <Claim> { new Claim("user", email) }; HttpContext.SignInAsync(new ClaimsPrincipal(new ClaimsIdentity(claims, "Cookies", "user", "role"))).Wait(); if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } return(Redirect("/home/index")); }
public void IndexListStacks() { // Arrange var halloweenStack = new Stack { Id = Guid.NewGuid() }; var christmasStack = new Stack { Id = Guid.NewGuid() }; var stacks = new List <Stack> { halloweenStack, christmasStack }; StackRepository.Setup(x => x.FindAll()).Returns(stacks); // Act var actionResult = (ViewResultBase)HomeController.Index(); List <StackOverviewViewModel> model = ((IEnumerable <StackOverviewViewModel>)actionResult.Model).ToList(); // Assert model.Should().Contain(x => x.Id == halloweenStack.Id); model.Should().Contain(x => x.Id == christmasStack.Id); }