public static List <Domain.Socioboard.Models.Mongo.intafeed> GetInstagramFeeds(string instagramId, Helper.AppSettings _appSettings, Helper.Cache _redisCache)
        {
            List <Domain.Socioboard.Models.Mongo.intafeed>      lstintafeed        = new List <Domain.Socioboard.Models.Mongo.intafeed>();
            List <Domain.Socioboard.Models.Mongo.InstagramFeed> iMmemInstagramFeed = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.InstagramFeed> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramFeed + instagramId);

            MongoRepository InstagramFeedRepo = new MongoRepository("InstagramFeed", _appSettings);
            var             ret  = InstagramFeedRepo.Find <Domain.Socioboard.Models.Mongo.InstagramFeed>(t => t.InstagramId.Equals(instagramId));
            var             task = Task.Run(async() =>
            {
                return(await ret);
            });
            IList <Domain.Socioboard.Models.Mongo.InstagramFeed> _lstInstagramFeed = task.Result;
            var sortt = _lstInstagramFeed.OrderByDescending(t => t.FeedDate);

            _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramFeed + instagramId, sortt.ToList());
            foreach (var item in sortt.ToList())
            {
                Domain.Socioboard.Models.Mongo.intafeed _intafeed = new Domain.Socioboard.Models.Mongo.intafeed();
                MongoRepository InstagramCommentRepo = new MongoRepository("InstagramComment", _appSettings);
                var             ret1  = InstagramCommentRepo.Find <Domain.Socioboard.Models.Mongo.InstagramComment>(t => t.FeedId.Equals(item.FeedId));
                var             taskq = Task.Run(async() =>
                {
                    return(await ret1);
                });
                IList <Domain.Socioboard.Models.Mongo.InstagramComment> _lstInstagramComment = taskq.Result;
                _intafeed._InstagramFeed    = item;
                _intafeed._InstagramComment = _lstInstagramComment.ToList();
                lstintafeed.Add(_intafeed);
            }
            return(lstintafeed);
        }
示例#2
0
 public IActionResult GetInstagramFeeds(long userId, string instagramId, int skip, int count)
 {
     if (skip + count < 100)
     {
         List <Domain.Socioboard.Models.Mongo.intafeed> lstInstagramFeeds = Repositories.InstagramRepository.GetInstagramFeeds(instagramId, _appSettings, _redisCache);
         return(Ok(lstInstagramFeeds));
     }
     else
     {
         List <Domain.Socioboard.Models.Mongo.intafeed> lstintafeed = new List <Domain.Socioboard.Models.Mongo.intafeed>();
         MongoRepository InstagramFeedRepo = new MongoRepository("InstagramFeed", _appSettings);
         var             builder           = Builders <Domain.Socioboard.Models.Mongo.InstagramFeed> .Sort;
         var             sort = builder.Descending(t => t.FeedDate);
         var             ret  = InstagramFeedRepo.FindWithRange <Domain.Socioboard.Models.Mongo.InstagramFeed>(t => t.InstagramId.Equals(instagramId), sort, skip, count);
         var             task = Task.Run(async() =>
         {
             return(await ret);
         });
         IList <Domain.Socioboard.Models.Mongo.InstagramFeed> _lstInstagramFeed = task.Result;
         foreach (var item in _lstInstagramFeed.ToList())
         {
             Domain.Socioboard.Models.Mongo.intafeed _intafeed = new Domain.Socioboard.Models.Mongo.intafeed();
             MongoRepository InstagramCommentRepo = new MongoRepository("InstagramComment", _appSettings);
             var             ret1  = InstagramCommentRepo.Find <Domain.Socioboard.Models.Mongo.InstagramComment>(t => t.FeedId.Equals(item.FeedId));
             var             taskq = Task.Run(async() =>
             {
                 return(await ret1);
             });
             IList <Domain.Socioboard.Models.Mongo.InstagramComment> _lstInstagramComment = taskq.Result;
             _intafeed._InstagramFeed    = item;
             _intafeed._InstagramComment = _lstInstagramComment.ToList();
             lstintafeed.Add(_intafeed);
         }
         return(Ok(lstintafeed.OrderByDescending(t => t._InstagramFeed.FeedDate)));
     }
 }