public LikeCount AddLike(int JokeId, int UserId, bool likes) { using (JokeContext context = new JokeContext(_connectionString)) { Like like = context.Likes.FirstOrDefault(l => l.JokeId == JokeId && l.UserId == UserId); if (like == null) { context.Likes.Add(new Like { UserId = UserId, JokeId = JokeId, Liked = likes, Time = DateTime.Now }); } else { if (like.Liked != likes && like.Time.AddMinutes(1) > DateTime.Now) { like.Liked = likes; context.Likes.Attach(like); context.Entry(like).State = EntityState.Modified; } } context.SaveChanges(); return(new LikeCount { Likes = context.Likes.Where(l => l.JokeId == JokeId && l.Liked == true).Count(), Dislikes = context.Likes.Where(l => l.JokeId == JokeId && l.Liked == false).Count() }); } }
public Joke GetJokeByid(int id) { using (JokeContext context = new JokeContext(_connectionString)) { return(context.Jokes.FirstOrDefault(j => j.Id == id)); } }
public User GetUserByEmail(string email) { using (JokeContext context = new JokeContext(_connectionString)) { return(context.Users.FirstOrDefault(u => u.Email == email)); } }
public IEnumerable <Joke> GetAllJokes() { using (JokeContext context = new JokeContext(_connectionString)) { return(context.Jokes.Include(j => j.Likes).ThenInclude(u => u.User).ToList()); } }
public void AddUser(User user) { using (JokeContext context = new JokeContext(_connectionString)) { context.Users.Add(user); context.SaveChanges(); } }
public LikeCount GetLikeCount(int JokeId) { using (JokeContext context = new JokeContext(_connectionString)) { return(new LikeCount { Likes = context.Likes.Where(l => l.JokeId == JokeId && l.Liked == true).Count(), Dislikes = context.Likes.Where(l => l.JokeId == JokeId && l.Liked == false).Count() }); } }
public User Verify(string email, string password) { using (JokeContext context = new JokeContext(_connectionString)) { User user = context.Users.FirstOrDefault(u => u.Email == email); if (user == null) { return(null); } bool good = BCrypt.Net.BCrypt.Verify(password, user.Password); if (!good) { return(null); } return(user); } }
public Joke GetJoke() { using (JokeContext context = new JokeContext(_connectionString)) { using (HttpClient client = new HttpClient()) { string Json = client.GetStringAsync("https://official-joke-api.appspot.com/jokes/programming/random").Result; Joke j = JsonConvert.DeserializeObject <IEnumerable <Joke> >(Json).FirstOrDefault(); if (context.Jokes.Any(jo => jo.JokeId == j.JokeId)) { return(context.Jokes.FirstOrDefault(jo => jo.JokeId == j.JokeId)); } context.Jokes.Add(j); context.SaveChanges(); return(j); } } }