Example #1
0
        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));
        }
Example #2
0
        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());
        }
Example #3
0
        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));
        }