Example #1
0
        public IActionResult Signup(User user, string password)
        {
            var db = new JokesManager(_connectionString);

            db.AddUser(user, password);
            return(RedirectToAction("Login", "Account"));
        }
Example #2
0
        public void UpdateJoke(int id, bool like)
        {
            var  repo = new JokesManager(_connectionString);
            User user = repo.GetByEmail(User.Identity.Name);

            repo.UpdateLike(user.Id, id, like);
        }
Example #3
0
        public IActionResult ViewJokes()
        {
            var         repo            = new JokesManager(_connectionString);
            List <Joke> jokes           = repo.GetJokes();
            List <ViewJokeViewModel> vm = new List <ViewJokeViewModel>();

            foreach (Joke joke in jokes)
            {
                vm.Add(new ViewJokeViewModel
                {
                    Joke     = joke,
                    Likes    = repo.GetCountLikesOrDislike(true, joke.Id),
                    Dislikes = repo.GetCountLikesOrDislike(false, joke.Id),
                });
            }
            return(View(vm));
        }
Example #4
0
        public IActionResult Login(string email, string password)
        {
            var db   = new JokesManager(_connectionString);
            var user = db.Login(email, password);

            if (user == null)
            {
                return(RedirectToAction("Login"));
            }

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

            HttpContext.SignInAsync(new ClaimsPrincipal(
                                        new ClaimsIdentity(claims, "Cookies", "user", "role"))).Wait();
            return(Redirect("/home/index"));
        }
Example #5
0
        public void LikeJoke(int id)
        {
            var          repo = new JokesManager(_connectionString);
            UserLikeJoke ulj  = new UserLikeJoke();

            ulj.JokeId = id;
            User user = repo.GetByEmail(User.Identity.Name);

            ulj.UserId   = user.Id;
            ulj.Like     = true;
            ulj.DateTime = DateTime.Now;
            List <UserLikeJoke> likeJokes = repo.GetUserLikeJoke();
            UserLikeJoke        ul        = likeJokes.Where(lj => lj.JokeId == id).FirstOrDefault(lj => lj.UserId == user.Id);

            if (ul == null)
            {
                repo.AddUserLikeJoke(ulj);
            }
        }
Example #6
0
        public IActionResult Index()
        {
            var            repo  = new JokesManager(_connectionString);
            IndexViewModel vm    = new IndexViewModel();
            Joke           joke  = repo.GetJoke();
            List <Joke>    jokes = repo.GetJokes();
            Joke           test  = jokes.FirstOrDefault(j => j.JokeDataId == joke.Id);

            if (test == null)
            {
                repo.AddJoke(joke);
            }
            else
            {
                joke.Id         = test.Id;
                joke.JokeDataId = test.JokeDataId;
            }
            vm.Joke = joke;
            return(View(vm));
        }