Example #1
0
        public static List <Domain.Socioboard.Models.Listening.FaceBookGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            //List<Domain.Socioboard.Models.Listening.FacebookGroupPost> iMmemFacebookGroupPost = _redisCache.Get<List<Domain.Socioboard.Models.Listening.FacebookGroupPost>>(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword);
            //if (iMmemFacebookGroupPost != null && iMmemFacebookGroupPost.Count > 0)
            //{
            //    return iMmemFacebookGroupPost;
            //}
            //else
            //{
            MongoRepository mongorepo  = new MongoRepository("FaceBookGroupPost", _appSettings);
            MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings);
            var             builder    = Builders <Domain.Socioboard.Models.Listening.FaceBookGroupPost> .Sort;
            var             sort       = builder.Descending(t => t.DateTimeOfPost);
            var             result     = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.FaceBookGroupPost>(t => t.Message.Contains(keyword), sort, skip, count);

            //var result = mongorepo.FindAll<Domain.Socioboard.Models.Listening.FaceBookGroupPost>();
            var task = Task.Run(async() =>
            {
                return(await result);
            });
            IList <Domain.Socioboard.Models.Listening.FaceBookGroupPost> lstFbFeeds = task.Result;

            for (int i = 0; i < lstFbFeeds.Count; i++)
            {
                // lstFbFeeds[i].Message = lstFbFeeds[i].Message.Replace("%20"," ").Replace("21%", " ").Replace("2%"," ").Replace("\n"," ").Replace("%3F"," ").Replace("% 21"," ");

                //lstFbFeeds[i].Message = Regex.Replace(lstFbFeeds[i].Message,"[%21%27%21%22]"," ");
                lstFbFeeds[i].Message = lstFbFeeds[i].Message.Replace("\\n", " ").Replace("\\r", " ");
                lstFbFeeds[i].Message = HttpUtility.UrlDecode(lstFbFeeds[i].Message);
            }
            lstFbFeeds = lstFbFeeds.GroupBy(t => t.Message).Select(g => g.First()).ToList();

            if (lstFbFeeds.Count > 0)
            {
                // _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword, lstFbFeeds.ToList());
            }

            Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords();
            _GroupPostKeyWords.id          = ObjectId.GenerateNewId();
            _GroupPostKeyWords.strId       = ObjectId.GenerateNewId().ToString();
            _GroupPostKeyWords.keyword     = keyword;
            _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
            var retkeyword  = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword));
            var taskkeyword = Task.Run(async() =>
            {
                return(await retkeyword);
            });
            int countkeyword = taskkeyword.Result.Count;

            if (count < 1)
            {
                mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords);
            }
            lstFbFeeds.Select(s => { s.Message = WebUtility.HtmlDecode(s.Message); return(s); }).ToList();
            return(lstFbFeeds.ToList());
            //}
        }
Example #2
0
        public static List <Domain.Socioboard.Models.Listening.LinkedGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger)
        {
            try
            {
                MongoRepository mongorepo  = new MongoRepository("LinkedGroupPost", _appSettings);
                MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings);
                Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords();
                _GroupPostKeyWords.id          = ObjectId.GenerateNewId();
                _GroupPostKeyWords.strId       = ObjectId.GenerateNewId().ToString();
                _GroupPostKeyWords.keyword     = keyword;
                _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
                var retkeyword  = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword));
                var taskkeyword = Task.Run(async() =>
                {
                    return(await retkeyword);
                });
                int countkeyword = taskkeyword.Result.Count;
                if (count < 1)
                {
                    mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords);
                }

                var builder = Builders <Domain.Socioboard.Models.Listening.LinkedGroupPost> .Sort;
                var sort    = builder.Descending(t => t.DateTimeOfPost);
                var result  = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.LinkedGroupPost>(t => t.Message.Contains(keyword), sort, skip, count);
                var task    = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <Domain.Socioboard.Models.Listening.LinkedGroupPost> lstLinkFeeds = task.Result;

                for (int i = 0; i < lstLinkFeeds.Count; i++)
                {
                    //lstLinkFeeds[i].Message = lstLinkFeeds[i].Message.Replace("%3F", " ").Replace("% 21", " ").Replace("%2C", " ");
                    //lstLinkFeeds[i].Message = Regex.Replace(lstLinkFeeds[i].Message, "[|%21 %27 %21 %22]"," ");
                    //                                  // lstLinkFeeds[i].Message = Regex.Replace(lstLinkFeeds[i].Message, @"\r\n?|\n", " ");
                    lstLinkFeeds[i].Message = lstLinkFeeds[i].Message.Replace("\\n", " ").Replace("\\r", " ");
                    lstLinkFeeds[i].Message = System.Compat.Web.HttpUtility.UrlDecode(lstLinkFeeds[i].Message);
                }

                lstLinkFeeds.Select(s => { s.Message = WebUtility.HtmlDecode(s.Message); return(s); }).ToList();
                return(lstLinkFeeds.ToList());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(null);
            }
        }
        public static List <Domain.Socioboard.Models.Listening.FaceBookGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            //List<Domain.Socioboard.Models.Listening.FacebookGroupPost> iMmemFacebookGroupPost = _redisCache.Get<List<Domain.Socioboard.Models.Listening.FacebookGroupPost>>(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword);
            //if (iMmemFacebookGroupPost != null && iMmemFacebookGroupPost.Count > 0)
            //{
            //    return iMmemFacebookGroupPost;
            //}
            //else
            //{
            MongoRepository mongorepo  = new MongoRepository("FaceBookGroupPost", _appSettings);
            MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings);
            var             builder    = Builders <Domain.Socioboard.Models.Listening.FaceBookGroupPost> .Sort;
            var             sort       = builder.Descending(t => t.DateTimeOfPost);
            var             result     = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.FaceBookGroupPost>(t => t.Message.Contains(keyword), sort, skip, count);
            //var result = mongorepo.FindAll<Domain.Socioboard.Models.Listening.FaceBookGroupPost>();
            var task = Task.Run(async() =>
            {
                return(await result);
            });
            IList <Domain.Socioboard.Models.Listening.FaceBookGroupPost> lstFbFeeds = task.Result;

            if (lstFbFeeds.Count > 0)
            {
                // _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheDiscoveryFacebookGroupPost + keyword, lstFbFeeds.ToList());
            }
            Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords();
            _GroupPostKeyWords.id          = ObjectId.GenerateNewId();
            _GroupPostKeyWords.strId       = ObjectId.GenerateNewId().ToString();
            _GroupPostKeyWords.keyword     = keyword;
            _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
            var retkeyword  = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword));
            var taskkeyword = Task.Run(async() =>
            {
                return(await retkeyword);
            });
            int countkeyword = taskkeyword.Result.Count;

            if (count < 1)
            {
                mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords);
            }
            return(lstFbFeeds.ToList());
            //}
        }
Example #4
0
        public static List <Domain.Socioboard.Models.Listening.LinkedGroupPost> GetFacebookGroupFeeds(string keyword, int skip, int count, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger)
        {
            try
            {
                MongoRepository mongorepo  = new MongoRepository("LinkedGroupPost", _appSettings);
                MongoRepository mongoreppo = new MongoRepository("GroupPostKeyWords", _appSettings);
                Domain.Socioboard.Models.Mongo.GroupPostKeyWords _GroupPostKeyWords = new Domain.Socioboard.Models.Mongo.GroupPostKeyWords();
                _GroupPostKeyWords.id          = ObjectId.GenerateNewId();
                _GroupPostKeyWords.strId       = ObjectId.GenerateNewId().ToString();
                _GroupPostKeyWords.keyword     = keyword;
                _GroupPostKeyWords.createdTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
                var retkeyword  = mongoreppo.Find <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(t => t.keyword.Contains(keyword));
                var taskkeyword = Task.Run(async() =>
                {
                    return(await retkeyword);
                });
                int countkeyword = taskkeyword.Result.Count;
                if (count < 1)
                {
                    mongoreppo.Add <Domain.Socioboard.Models.Mongo.GroupPostKeyWords>(_GroupPostKeyWords);
                }

                var builder = Builders <Domain.Socioboard.Models.Listening.LinkedGroupPost> .Sort;
                var sort    = builder.Descending(t => t.DateTimeOfPost);
                var result  = mongorepo.FindWithRange <Domain.Socioboard.Models.Listening.LinkedGroupPost>(t => t.Message.Contains(keyword), sort, skip, count);
                var task    = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <Domain.Socioboard.Models.Listening.LinkedGroupPost> lstFbFeeds = task.Result;
                return(lstFbFeeds.ToList());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(null);
            }
        }