Ejemplo n.º 1
0
        public IActionResult SignUp(User user)
        {
            var repository = new JokesRepository(_conn);

            repository.AddUser(user);
            return(Redirect("/account/login"));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            var     client = new FacebookWebClient();
            dynamic me     = client.Get("me");

            ViewBag.Name = me.name;
            ViewBag.Id   = me.id.ToString();

            JokesFeedViewModel model = new JokesFeedViewModel();

            model.UserName = me.name;
            model.UserId   = me.id;
            IJokesRepository jokeRep  = new JokesRepository();
            IVotesRepository votesRep = new VotesRepository();
            List <Jokes>     allJokes = jokeRep.GetAllJokesByDate().ToList <Jokes>();

            if (allJokes != null)
            {
                foreach (Jokes joke in allJokes)
                {
                    joke.UserVoteType   = votesRep.GetCurrentUserVote(joke.JokeId, joke.UserId);
                    joke.UpVotesCount   = votesRep.GetJokesVotesCount(joke.JokeId, true);
                    joke.DownVotesCount = votesRep.GetJokesVotesCount(joke.JokeId, false);
                    dynamic jUser = client.Get(joke.UserId.ToString());
                    joke.UserName = jUser.name;
                }
                model.Jokes = allJokes;
            }

            return(View(model));
        }
Ejemplo n.º 3
0
        public IActionResult Index()
        {
            JokesRepository rep  = new JokesRepository(_connString);
            Joke            joke = rep.GetJoke();

            return(View(joke));
        }
Ejemplo n.º 4
0
        public IActionResult GetLikes(int jokeId)
        {
            JokesRepository        rep  = new JokesRepository(_connString);
            List <UsersLikedJokes> like = rep.GetLikes(jokeId);

            return(Json(like.Count));
        }
Ejemplo n.º 5
0
        public IActionResult AllJokes()
        {
            JokesRepository rep   = new JokesRepository(_connString);
            List <Joke>     jokes = rep.GetJokes().ToList();

            return(View(rep.GetJokes()));
        }
Ejemplo n.º 6
0
        public IActionResult ViewAllJokes()
        {
            var         repo  = new JokesRepository(_connectionString);
            List <Joke> jokes = repo.GetJokes();

            return(View(jokes));
        }
Ejemplo n.º 7
0
        public IActionResult StillLike(UserLikedJokes like)
        {
            var repo  = new JokesRepository(_conn);
            var liked = repo.CanStillLike(like);

            return(Json(new { liked = liked }));
        }
Ejemplo n.º 8
0
        public IActionResult Login(User user)
        {
            var  repository = new JokesRepository(_conn);
            User u          = repository.GetUserByEmail(user.Email);

            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"));
        }
Ejemplo n.º 9
0
        public int GetLikesDislikesCount(int jokeId, bool liked)
        {
            var jokesRepo = new JokesRepository(_connectionString);
            var result    = jokesRepo.GetLikesDislikesCount(jokeId, liked);

            return(result);
        }
Ejemplo n.º 10
0
        public void Dislike(int userId, int jokeId)
        {
            var repo = new JokesRepository(_conn);

            repo.DislikeJoke(userId, jokeId);
            //return Redirect("/home/jokes");
        }
Ejemplo n.º 11
0
        public void DeleteUserLikedJoke(DeleteUserLikedJokeViewModel vm)
        {
            var userId    = GetCurrentUser().Id;
            var jokesRepo = new JokesRepository(_connectionString);

            jokesRepo.DeleteUserLikedJoke(userId, vm.JokeId);
        }
Ejemplo n.º 12
0
        public IActionResult GetLikesDislikes(int websiteId)
        {
            var repo   = new JokesRepository(_connectionString);
            var authDb = new Authentication(_connectionString);

            var      likes                = 0;
            var      dislikes             = 0;
            var      user                 = authDb.GetByEmail(User.Identity.Name);
            var      didUserLikeOrDislike = false;
            var      userLiked            = false;
            DateTime date                 = new DateTime();

            if (repo.JokeInDb(websiteId))
            {
                IEnumerable <UserLikedJokes> ul = repo.GetUserLikedJokes(repo.GetJokeId(websiteId));
                likes    = ul.Where(j => j.Liked).Count();
                dislikes = ul.Where(j => !j.Liked).Count();
                if (user != null)
                {
                    didUserLikeOrDislike = ul.Any(u => u.UserId == user.Id);
                    if (didUserLikeOrDislike)
                    {
                        date      = ul.FirstOrDefault(u => u.UserId == user.Id).Date;
                        userLiked = ul.Any(u => u.Liked && u.UserId == user.Id);
                    }
                }
            }

            return(Json(new { likes, dislikes, didUserLikeOrDislike, date, userLiked }));
        }
Ejemplo n.º 13
0
        public void AddDislike(Jokes joke)
        {
            JokesRepository   repos       = new JokesRepository(_connectionString);
            AccountRepository account     = new AccountRepository(_connectionString);
            Users             currentUser = account.GetByEmail(User.Identity.Name);

            repos.AddLikeOrDislike(joke, currentUser, false);
        }
Ejemplo n.º 14
0
        public void InteractWithJoke(InteractViewModel viewModel)
        {
            var userRepo = new UserRepository(_connectionString);
            var user     = userRepo.GetByEmail(User.Identity.Name);
            var jokeRepo = new JokesRepository(_connectionString);

            jokeRepo.InteractWithJoke(user.Id, viewModel.JokeId, viewModel.Like);
        }
Ejemplo n.º 15
0
        public IActionResult SignUp(User user, string password)
        {
            JokesRepository rep = new JokesRepository(_connString);

            user.PasswordHash = PasswordHelper.HashPassword(password);
            rep.AddUser(user);
            return(Redirect("/account/login"));
        }
Ejemplo n.º 16
0
        public void InteractWithJoke(int jokeId, bool like)
        {
            var userRepo = new UserRepository(_connectionString);
            var user     = userRepo.GetByEmail(User.Identity.Name);
            var jokeRepo = new JokesRepository(_connectionString);

            jokeRepo.InteractWithJoke(user.Id, jokeId, like);
        }
Ejemplo n.º 17
0
        public void LikeJoke(UserLikedJokes ulj)
        {
            var repo  = new JokesRepository(_connectionString);
            var repo2 = new UserRepository(_connectionString);

            ulj.UserId = repo2.GetByEmail(User.FindFirst("user")?.Value).Id;
            ulj.Date   = DateTime.Now;
            repo.LikeJoke(ulj);
        }
Ejemplo n.º 18
0
        public LikesDislikesViewModel GetLikesAndDislikesCount(int JokeId)
        {
            var   jokeRepo             = new JokesRepository(_connectionString);
            Jokes j                    = jokeRepo.GetJokesId(JokeId);
            LikesDislikesViewModel ldl = new LikesDislikesViewModel();

            ldl.LikesCount    = j.UserjokeLikes.Where(ulj => ulj.Liked == true).ToList().Count();
            ldl.DislikesCount = j.UserjokeLikes.Where(ulj => ulj.Liked == false).ToList().Count();
            return(ldl);
        }
Ejemplo n.º 19
0
        public IActionResult LikeJoke(int jokeId, bool like)
        {
            if (User.Identity.Name == null)
            {
                return(Json(new { result = "Redirect", url = Url.Action("Login", "Account") }));
            }
            JokesRepository rep = new JokesRepository(_connString);

            rep.LikeJoke(jokeId, User.Identity.Name, like);
            return(Json("done"));
        }
Ejemplo n.º 20
0
        public object GetLikesCount(int jokeId)
        {
            var repo = new JokesRepository(_connectionString);
            var joke = repo.GetWithLikes(jokeId);

            return(new
            {
                likes = joke.UserJokeLikes.Count(u => u.Like),
                dislikes = joke.UserJokeLikes.Count(u => !u.Like)
            });
        }
Ejemplo n.º 21
0
        public Joke GetRandomJoke()
        {
            var joke      = JokeApi.GetJoke();
            var jokesRepo = new JokesRepository(_connectionString);

            if (jokesRepo.NewJoke(joke.Number))
            {
                jokesRepo.AddJoke(joke);
            }
            return(jokesRepo.GetByNumber(joke.Number));
        }
Ejemplo n.º 22
0
        public Joke GetRandomJoke()
        {
            var joke     = JokesApi.GetJoke();
            var jokeRepo = new JokesRepository(_connectionString);

            if (!jokeRepo.JokeExists(joke.OriginId))
            {
                jokeRepo.AddJoke(joke);
            }

            return(jokeRepo.GetByOriginId(joke.OriginId));
        }
Ejemplo n.º 23
0
        public void LikeDislikeJoke(LikeDislikeViewModel vm)
        {
            var ulj = new UserLikedJoke
            {
                UserId = GetCurrentUser().Id,
                JokeId = vm.JokeId,
                Liked  = vm.Like,
                Date   = DateTime.Now
            };

            var jokesRepo = new JokesRepository(_connectionString);

            jokesRepo.LikeDislikeJoke(ulj);
        }
Ejemplo n.º 24
0
        public IActionResult Index()
        {
            var            repo = new JokesRepository(_connectionString);
            IndexViewModel vm   = new IndexViewModel();

            vm.Joke = repo.GetRandomJoke();

            if (User.Identity.IsAuthenticated)
            {
                var usersRepo = new UsersRepository(_connectionString);
                vm.User = usersRepo.GetByEmail(User.Identity.Name);
            }
            return(View(vm));
        }
Ejemplo n.º 25
0
        public IActionResult Index()
        {
            var repo   = new JokesRepository(_connectionString);
            var authDb = new Authentication(_connectionString);

            JokesModelView mv = new JokesModelView();

            mv.User = authDb.GetByEmail(User.Identity.Name);
            if (mv.User != null)
            {
                mv.UserJokes = repo.GetJokesForUser(mv.User.Id);
            }

            return(View(mv));
        }
Ejemplo n.º 26
0
        public JokeWithCounteViewModel GetJokeForId(int JokeId)
        {
            JokesRepository         repos = new JokesRepository(_connectionString);
            Jokes                   j     = repos.GetJokesId(JokeId);
            JokeWithCounteViewModel joke  = new JokeWithCounteViewModel
            {
                Id           = j.Id,
                Setup        = j.Setup,
                Punchline    = j.Punchline,
                LikeCount    = j.UserjokeLikes.Where(ulj => ulj.Liked == true).ToList().Count,
                DislikeCount = j.UserjokeLikes.Where(ulj => ulj.Liked == false).ToList().Count
            };

            return(joke);
        }
Ejemplo n.º 27
0
        public bool?GetPreviosInteraction(int jokeId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(false);
            }
            var userId    = GetCurrentUser().Id;
            var jokesRepo = new JokesRepository(_connectionString);
            var ulj       = jokesRepo.GetUserLikedJoke(userId, jokeId);

            if (ulj == null)
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 28
0
        public IActionResult Jokes()
        {
            var repo    = new JokesRepository(_conn);
            var jokesVm = new List <JokeViewModel>();
            var jokes   = repo.GetJokes();

            foreach (Joke j in jokes)
            {
                jokesVm.Add(new JokeViewModel
                {
                    Joke     = j,
                    Likes    = repo.GetLikesByJokeId(j.Id),
                    Dislikes = repo.GetDislikesByJokeId(j.Id),
                });
            }
            return(View(jokesVm));
        }
Ejemplo n.º 29
0
        public IActionResult Login(string email, string password)
        {
            JokesRepository rep  = new JokesRepository(_connString);
            User            user = rep.Login(email, password);

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

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

            HttpContext.SignInAsync(new ClaimsPrincipal(
                                        new ClaimsIdentity(claims, "Cookies", "user", "role"))).Wait();
            return(Redirect("/"));
        }
Ejemplo n.º 30
0
        public IActionResult Index()
        {
            var joke     = JokesApi.GetJoke();
            var jokeRepo = new JokesRepository(_connectionString);

            if (!jokeRepo.JokeExists(joke.OriginId))
            {
                jokeRepo.AddJoke(joke);
            }
            else
            {
                joke = jokeRepo.GetByOriginId(joke.OriginId);
            }
            var viewModel = new IndexViewModel {
                Joke = joke
            };

            viewModel.InteractionStatus = GetStatus(joke.Id);
            return(View(viewModel));
        }