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); }
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))); } }