Exemple #1
0
        private FilterInterestEntity GetSpecialInterestFilter(int id, int userId)
        {
            var name = (id == -3 ? "friends" : (id == -2 ? "nearby" : "anonymous "));

            var newPostsCount = 0;
            var allPostCount  = 0;

            if (id == -3)
            {
                NewPostsCountByFriends(id, userId, out newPostsCount, out allPostCount);
            }
            else if (id == -2)
            {
                NewPostsCountByNearby(id, userId, out newPostsCount, out allPostCount);
            }
            else if (id == -1)
            {
                NewPostsCountByAnonimus(id, userId, out newPostsCount, out allPostCount);
            }

            var rt = new FilterInterestEntity
            {
                Id             = id,
                Name           = name,
                AddDate        = DateTime.Now,
                IsMain         = false,
                NewPostsNumber = newPostsCount,
                PostNumber     = allPostCount,
            };

            return(rt);
        }
Exemple #2
0
        public FilterInterestEntity GetFilterInterest(int id, int userId)
        {
            using (var db = new groubel_dbEntities1())
            {
                var item = db.Interests.FirstOrDefault(i => i.Id == id);

                if (item == null)
                {
                    if (id < 0)
                    {
                        return(GetSpecialInterestFilter(id, userId));
                    }

                    return(null);
                }


                var posts = db.PostInterests.Where(i => i.InterestId == id).Select(i => i.PostId).Distinct().ToList();

                var date = DateTime.Now.AddDays(-1);

                var tp       = (int)NotificationTypeEnum.PostAddedOnInterest;
                var newPosts = db.Notifications.Count(i => i.Type == tp && i.ReciverUserId == userId && i.SeenStatus == false && i.AliasId == id);

                SetSeen(db.Notifications.Where(i => i.Type == tp && i.ReciverUserId == userId && i.SeenStatus == false && i.AliasId == id).ToList());

                var rt = new FilterInterestEntity
                {
                    Id             = item.Id,
                    Name           = item.Name,
                    AddDate        = item.AddDate,
                    IsMain         = db.UserInterests.Count(t => t.UserId == userId && t.InterestId == item.Id) > 0,
                    NewPostsNumber = newPosts,
                    PostNumber     = posts.Count(),
                };

                return(rt);
            }
        }