public PersonVM GetPerson(int id) { TwitDbContext db = new TwitDbContext(); return db.People.Where(p => p.PersonId == id).Select(p => new PersonVM { Id = p.PersonId, Name = p.Name, ImgUrl = p.ImgUrl, AboutMe = p.AboutMe, Tweets = p.Tweets.Where(t => t.Visible).Select( t => new TweetVM { Id = t.TweetId, Timestamp = t.Timestamp, Body = t.Body, AuthorId = t.Twit.PersonId, AuthorName = t.Twit.Name, Visible = t.Visible }).ToList(), FollowerIds = db.Follows.Where(f => f.FolloweeId == p.PersonId).Select(f => f.FollowerId).ToList(), FollowingIds = db.Follows.Where(f => f.FollowerId == p.PersonId).Select(f => f.FolloweeId).ToList() }).FirstOrDefault(); }
public List<PersonVM> GetFollowers(int id) { TwitDbContext db = new TwitDbContext(); List<int> followerIds = db.Follows.Where(f => f.FolloweeId == id).Select(p => p.FollowerId).ToList(); List<PersonVM> followers = followerIds.Select(f => GetPerson(f)).ToList(); return followers; }
public void RemoveFollower(int followeeId, int followerId) { TwitDbContext db = new TwitDbContext(); int id = db.Follows.Where(f => f.FolloweeId == followeeId && f.FollowerId == followerId).FirstOrDefault().Id; db.Follows.Remove(db.Follows.Where(f => f.Id == id).FirstOrDefault()); db.SaveChanges(); }
public List<TweetVM> GetPersonTweets(int personId) { TwitDbContext db = new TwitDbContext(); Person person = db.People.Where(p => p.PersonId == personId).FirstOrDefault(); List<TweetVM> tweets = person.Tweets.Select(t => GetTweet(t.TweetId)).ToList(); return tweets; }
public int CreateTweet(int posterId, string body) { TwitDbContext db = new TwitDbContext(); db.Tweets.Add(new Tweet(body, posterId)); db.SaveChanges(); return db.Tweets.Where(t => t.Body == body).Last().TweetId; }
public void AddFollower(int followeeId, int followerId) { TwitDbContext db = new TwitDbContext(); if (db.Follows.Where(f => f.FolloweeId == followeeId && f.FollowerId == followerId).FirstOrDefault() != null) { db.Follows.Add(new Follow { FolloweeId = followeeId, FollowerId = followerId }); } db.SaveChanges(); }
public void DeleteTweet(int deleterId, int tweetId) { TwitDbContext db = new TwitDbContext(); Tweet tweet = db.Tweets.Where(t => t.TweetId == tweetId).FirstOrDefault(); int authorId = tweet.Twit.PersonId; if (tweet != null && deleterId == authorId) { tweet.Visible = false; } db.SaveChanges(); }
public TweetVM GetTweet(int tweetId) { TwitDbContext db = new TwitDbContext(); return db.Tweets.Where(t => t.TweetId == tweetId && t.Visible).Select(t => new TweetVM{ Id = t.TweetId, Timestamp = t.Timestamp, Body = t.Body, AuthorName = db.People.Where(p => p.PersonId == t.Twit.PersonId).FirstOrDefault().Name, AuthorId = db.People.Where(p => p.PersonId == t.Twit.PersonId).FirstOrDefault().PersonId, Visible = t.Visible }).FirstOrDefault(); }
public int SetUser(int personId) { TwitDbContext db = new TwitDbContext(); //check to see if anyone else is a user List<Person> currentUsers = db.People.Where(p => p.IsUser).ToList(); foreach (var p in currentUsers) { p.IsUser = false; } db.People.Where(p => p.PersonId == personId).FirstOrDefault().IsUser = true; db.SaveChanges(); return db.People.Where(p => p.IsUser).FirstOrDefault().PersonId; }
public int CreatePerson(string name, string aboutMe, string imgUrl, bool isUser) { Person person = new Person(name, aboutMe, imgUrl, isUser); TwitDbContext db = new TwitDbContext(); //check to see if someone else is the user if (isUser) { List<Person> currentUsers = db.People.Where(p => p.IsUser).ToList(); foreach (var p in currentUsers) { p.IsUser = false; } } db.People.Add(person); db.SaveChanges(); return db.People.Last().PersonId; }
public List<PersonVM> GetPeople() { TwitDbContext db = new TwitDbContext(); List<int> Ids = db.People.Select(p => p.PersonId).ToList(); return Ids.Select(i => GetPerson(i)).ToList(); }