public IHttpActionResult GetFeed(Guid?Id) { List <Feed> Feed = new List <Feed>(); FeedRepository db = new FeedRepository(); UserRepository userRep = new UserRepository(); FeedDiscussionRepository FeedDisRep = new FeedDiscussionRepository(); if (Id.HasValue) { Feed = db.GetUserFeed(Id.Value); } else { Feed.AddRange(db.GetTextFeed()); Feed.AddRange(db.GetImageFeed()); Feed.AddRange(db.GetVideoFeed()); } Feed.OrderBy(x => x.CreatedAt); List <FeedViewModel> viewmodels = new List <FeedViewModel>(); foreach (Feed feed in Feed) { List <FeedDiscussion> comments = FeedDisRep.GetFeedDiscussions(feed.Id); List <FeedDiscussionViewModel> commentsViewModel = new List <FeedDiscussionViewModel>(); foreach (var comment in comments) { User CommentUser = userRep.GetUser(comment.User_Id); commentsViewModel.Add(new FeedDiscussionViewModel() { Id = comment.Id, UserId = comment.User_Id, CommentText = comment.Text, CreatedDate = comment.CreatedAt, FirstName = CommentUser.FirstName, LastName = CommentUser.LastName, ProfilePicUrl = CommentUser.ProfilePictureUrl }); } viewmodels.Add(new FeedViewModel() { Feed = feed, Creator = userRep.GetUser(feed.CreatorId), Comments = commentsViewModel }); } return(Ok(viewmodels)); }
public IHttpActionResult UpdateRespect(Guid FeedId, bool Upvote) { FeedRepository db = new FeedRepository(); TextFeed textFeed = db.GetTextFeed(FeedId); ImageFeed ImageFeed = db.GetImageFeed(FeedId); VideoFeed VideoFeed = db.GetVideoFeed(FeedId); Feed feed = null; if (textFeed != null) { feed = textFeed; } if (ImageFeed != null) { feed = ImageFeed; } if (VideoFeed != null) { feed = VideoFeed; } if (Upvote) { feed.Respect++; } else { feed.Respect--; } if (textFeed != null) { db.UpdateTextFeed((TextFeed)feed); } if (ImageFeed != null) { db.UpdateImageFeed((ImageFeed)feed); } if (VideoFeed != null) { db.UpdateVideoFeed((VideoFeed)feed); } return(Ok()); }
public IHttpActionResult GetFeed() { List <Feed> Feed = new List <Feed>(); FeedRepository db = new FeedRepository(); Feed.AddRange(db.GetTextFeed()); Feed.AddRange(db.GetImageFeed()); Feed.AddRange(db.GetVideoFeed()); Feed.OrderBy(x => x.CreatedAt); List <FeedViewModel> viewmodels = new List <FeedViewModel>(); UserRepository userRep = new UserRepository(); foreach (Feed feed in Feed) { viewmodels.Add(new FeedViewModel() { Feed = feed, Creator = userRep.GetUser(feed.CreatorId) }); } return(Ok(viewmodels)); }