コード例 #1
0
        public IActionResult getInstagramFeeds(long boardId, int skip, int count)
        {
            DatabaseRepository dbr = new DatabaseRepository(_logger, _env);

            Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);

            MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramFeeds", _appSettings);

            try
            {
                var builder = Builders <MongoBoardInstagramFeeds> .Sort;
                var sort    = builder.Descending(t => t.Publishedtime);
                //var result = boardrepo.FindWithRange<MongoBoardInstagramFeeds>(t => t.Instagramaccountid.Equals(board.instagramHashTag),sort,skip, count).ConfigureAwait(false);
                var result = boardrepo.BoardFind <MongoBoardInstagramFeeds>(t => t.Instagramaccountid.Equals(board.instagramHashTag)).ConfigureAwait(false);
                var task   = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <MongoBoardInstagramFeeds> objTwitterPagelist     = task.Result;
                List <MongoBoardInstagramFeeds>  objBoardGplusPagefeeds = objTwitterPagelist.OrderByDescending(t => t.Publishedtime).Skip(Convert.ToInt32(skip)).Take(Convert.ToInt32(count)).ToList();
                return(Ok(objBoardGplusPagefeeds));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
コード例 #2
0
        public IActionResult getGplusfeeds(long boardId, string skip, string count)
        {
            DatabaseRepository dbr = new DatabaseRepository(_logger, _env);

            Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
            MongoRepository boardrepo = new MongoRepository("MongoBoardGplusFeeds", _appSettings);

            try
            {
                //List<MongoBoardGplusFeeds> objBoardGplusPagefeeds = boardrepo.getBoardGplusfeedsbyrange(Guid.Parse(BoardGplusprofileId), Convert.ToInt32(_noOfDataToSkip), Convert.ToInt32(_noOfResultsFromTop));
                var builder = Builders <MongoBoardGplusFeeds> .Sort;
                var sort    = builder.Descending(t => t.Publishedtime);
                //var result = boardrepo.FindWithRange<MongoBoardGplusFeeds>(t => t.Gplusboardaccprofileid.Equals(board.gplusHashTag),sort,Convert.ToInt32(skip),Convert.ToInt32(count)).ConfigureAwait(false);
                var result = boardrepo.BoardFind <MongoBoardGplusFeeds>(t => t.Gplusboardaccprofileid.Equals(board.gplusHashTag)).ConfigureAwait(false);
                var task   = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <MongoBoardGplusFeeds> objTwitterPagelist     = task.Result;
                List <MongoBoardGplusFeeds>  objBoardGplusPagefeeds = objTwitterPagelist.OrderByDescending(t => t.Publishedtime).Skip(Convert.ToInt32(skip)).Take(Convert.ToInt32(count)).ToList();
                return(Ok(objBoardGplusPagefeeds));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
コード例 #3
0
        public async Task <IActionResult> getGplusfeeds(long boardId, int skip, int count)
        {
            try
            {
                DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
                Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
                MongoRepository        mongorepo           = new MongoRepository("MongoBoardGplusHashTag", _appSettings);
                MongoBoardGplusHashTag gplushashtag        = await mongorepo.FindFirstOrDefault <MongoBoardGplusHashTag>(x => x.Boardid.Equals(board.boardId)).ConfigureAwait(false);

                List <MongoBoardGplusFeeds> GplusFeedsList = GplusRepository.AddBoardGplusTagFeeds(gplushashtag.Displayname, board.gplusHashTag, _appSettings, _logger);
                if (GplusFeedsList.Count == 0)
                {
                    MongoRepository boardrepo = new MongoRepository("MongoBoardGplusFeeds", _appSettings);
                    var             builder   = Builders <MongoBoardGplusFeeds> .Sort;
                    var             sort      = builder.Descending(t => t.Publishedtime);
                    IList <MongoBoardGplusFeeds> objTwitterPagelist = await boardrepo.FindWithRange <MongoBoardGplusFeeds>(t => t.Gplusboardaccprofileid.Equals(board.gplusHashTag) && t.Feedlink != null, sort, skip, count);

                    List <MongoBoardGplusFeeds> lstBGFeeds = objTwitterPagelist.ToList();
                    foreach (var items_lstBGFeed in lstBGFeeds)
                    {
                        if (items_lstBGFeed.FromName.Any(c => char.IsSymbol(c)) || items_lstBGFeed.Title.Contains("¾"))
                        {
                            objTwitterPagelist.Remove(items_lstBGFeed);
                        }
                    }
                    return(Ok(objTwitterPagelist));
                }
                return(Ok(GplusFeedsList));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
コード例 #4
0
        public IActionResult getfacebookFeeds(long boardId, int skip, int count)
        {
            DatabaseRepository dbr = new DatabaseRepository(_logger, _env);

            Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
            MongoRepository boardrepo = new MongoRepository("MongoBoardFbTrendingFeeds", _appSettings);

            try
            {
                //var result = boardrepo.Find<MongoBoardFbTrendingFeeds>(t => t.facebookprofileid.Equals(board.facebookHashTag));
                //var task = Task.Run(async () =>
                //{
                //    return await result;
                //});
                //IList<MongoBoardFbTrendingFeeds> objTwitterPagelist = task.Result;
                //List<MongoBoardFbTrendingFeeds> objBoardGplusPagefeeds = objTwitterPagelist.OrderByDescending(t => t.publishedtime).Skip(Convert.ToInt32(skip)).Take(Convert.ToInt32(count)).ToList();
                //return Ok(objBoardGplusPagefeeds);
                var builder = Builders <MongoBoardFbTrendingFeeds> .Sort;
                var sort    = builder.Descending(t => t.publishedtime);
                var result  = boardrepo.FindWithRange <MongoBoardFbTrendingFeeds>(t => t.facebookprofileid.Equals(board.facebookHashTag), sort, skip, count);
                var task    = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <MongoBoardFbTrendingFeeds> objTwitterPagelist = task.Result;
                return(Ok(objTwitterPagelist));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
コード例 #5
0
        public async Task <IActionResult> getTwitterFeeds(long boardId, int skip, int count)
        {
            try
            {
                DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
                Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
                MongoRepository          mongorepo         = new MongoRepository("MongoBoardTwitterHashTag", _appSettings);
                MongoBoardTwitterHashTag twitterhashtag    = await mongorepo.FindFirstOrDefault <MongoBoardTwitterHashTag>(x => x.Boardid.Equals(board.boardId)).ConfigureAwait(false);

                List <MongoBoardTwtFeeds> twtFeedsList = TwitterRepository.AddBoardTwitterHashTagFeeds(twitterhashtag.Screenname, board.twitterHashTag, null, _appSettings, _logger);
                if (twtFeedsList.Count == 0)
                {
                    MongoRepository            boardrepo          = new MongoRepository("MongoBoardTwtFeeds", _appSettings);
                    var                        builder            = Builders <MongoBoardTwtFeeds> .Sort;
                    var                        sort               = builder.Descending(t => t.Publishedtime);
                    IList <MongoBoardTwtFeeds> objTwitterPagelist = await boardrepo.FindWithRange <MongoBoardTwtFeeds>(t => t.Twitterprofileid.Equals(board.twitterHashTag) && t.Feedurl != null, sort, skip, count);

                    return(Ok(objTwitterPagelist));
                }
                return(Ok(twtFeedsList));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            return(Ok("Something Went Wrong"));
        }
コード例 #6
0
        public string UpdateBoard(Domain.Socioboard.Models.MongoBoards boards)
        {
            try
            {
                DatabaseRepository dbr = new DatabaseRepository();
                if (!string.IsNullOrEmpty(boards.twitterHashTag))
                {
                    TwitterRepository twtrepo = new TwitterRepository();
                    boards.twitterHashTag = twtrepo.AddTwitterHashTag(boards.twitterHashTag, boards.id.ToString());
                }
                if (!string.IsNullOrEmpty(boards.instagramHashTag))
                {
                    InstagramRepository instRepo = new InstagramRepository();
                    boards.instagramHashTag = instRepo.AddInstagramHashTag(boards.instagramHashTag, boards.id.ToString());
                }
                if (!string.IsNullOrEmpty(boards.gplusHashTag))
                {
                    GplusRepository gplusRepo = new GplusRepository();
                    boards.gplusHashTag = gplusRepo.AddGplusHashTag(boards.gplusHashTag, boards.id.ToString());
                }

                dbr.Update <Domain.Socioboard.Models.MongoBoards>(boards);
                return("update");
            }
            catch (Exception)
            {
                return("Issue in board updation");
            }
        }
コード例 #7
0
        public IActionResult UndoDeleteBoard(string BoardId, long userId)
        {
            DatabaseRepository boardrepo = new DatabaseRepository(_logger, _env);
            List <Domain.Socioboard.Models.MongoBoards> boards = new List <Domain.Socioboard.Models.MongoBoards>();

            try
            {
                boards = boardrepo.Find <Domain.Socioboard.Models.MongoBoards>(t => t.id.Equals(BoardId)).ToList();
            }
            catch (Exception e)
            {
            }
            if (boards.Count() > 0)
            {
                Domain.Socioboard.Models.MongoBoards board = boards.First();
                board.isActive = Domain.Socioboard.Enum.boardStatus.active;
                boardrepo.Update <Domain.Socioboard.Models.MongoBoards>(board);
                return(Ok("success"));
            }

            return(Ok("failed to update"));
        }
コード例 #8
0
        public IActionResult getTwitterFeeds(long boardId, int skip, int count)
        {
            DatabaseRepository dbr = new DatabaseRepository(_logger, _env);

            Domain.Socioboard.Models.MongoBoards board = BoardMeRepository.getBoard(boardId, _redisCache, _appSettings, _logger, dbr);
            MongoRepository boardrepo = new MongoRepository("MongoBoardTwtFeeds", _appSettings);

            try
            {
                var result = boardrepo.Find <MongoBoardTwtFeeds>(t => t.Twitterprofileid.Equals(board.twitterHashTag)).ConfigureAwait(false);
                var task   = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <MongoBoardTwtFeeds> objTwitterPagelist     = task.Result;
                List <MongoBoardTwtFeeds>  objBoardGplusPagefeeds = objTwitterPagelist.OrderByDescending(t => t.Publishedtime).Skip(Convert.ToInt32(skip)).Take(Convert.ToInt32(count)).ToList();
                return(Ok(objBoardGplusPagefeeds));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                return(Ok("Something Went Wrong"));
            }
        }
コード例 #9
0
        public async Task <string> AddFacebookrendingHashTagFeeds(string[] jsonObj, Helper.AppSettings settings)
        {
            DatabaseRepository dbr = new DatabaseRepository(_logger, _env);
            IList <Domain.Socioboard.Models.MongoBoards> boards = new List <Domain.Socioboard.Models.MongoBoards>();
            string          Id        = Convert.ToString(Guid.NewGuid());
            MongoRepository mongorepo = new MongoRepository("MongoBoardFbTrendingFeeds", settings);
            List <MongoBoardFbTrendingFeeds> twtFeedsList = new List <MongoBoardFbTrendingFeeds>();
            string boardName = string.Empty;

            foreach (var item in jsonObj)
            {
                MongoBoardFbTrendingFeeds _MongoBoardFbTrendingFeeds = new MongoBoardFbTrendingFeeds();
                string FromName      = getBetween(item, "FromName", "FromPicUrl");
                string FromPicUrl    = getBetween(item, "FromPicUrl", "PostImageurl");
                string PostImageurl  = getBetween(item, "PostImageurl", "Text");
                string Text          = getBetween(item, "Text", "Title");
                string Title         = getBetween(item, "Title", "facebookprofileid");
                string publishedtime = getBetween(item, "publishedtime", "posturl");
                string posturl       = getBetween(item, "posturl", "BoardName");


                _MongoBoardFbTrendingFeeds.Id           = ObjectId.GenerateNewId();
                _MongoBoardFbTrendingFeeds.FromName     = FromPicUrl.Replace("\":\"", "").Replace("\",\"", "");
                _MongoBoardFbTrendingFeeds.FromPicUrl   = FromName.Replace("\":\"", "").Replace("\",\"", "");
                _MongoBoardFbTrendingFeeds.PostImageurl = PostImageurl.Replace("\":\"", "").Replace("\",\"", "");
                _MongoBoardFbTrendingFeeds.Text         = Text.Replace("\":\"", "").Replace("</p>\",\"", "").Replace("\",\"", "").Replace("&amp;", "&");
                _MongoBoardFbTrendingFeeds.Title        = Title.Replace("\":\"", "").Replace("\",\"", "");
                //_MongoBoardFbTrendingFeeds.facebookprofileid = data[5].Replace("[\"", "").Replace("\"", "");
                _MongoBoardFbTrendingFeeds.facebookprofileid = Id;
                if (string.IsNullOrEmpty(boardName))
                {
                    boardName = getBetween(item, "BoardName", "\"}");
                    boardName = boardName.Replace("\":\"", "").Replace("\"", "").Replace("\",\"", "");
                    boards    = dbr.Find <Domain.Socioboard.Models.MongoBoards>(t => t.boardName.Equals(boardName.ToLower()));
                    if (boards.First().facebookHashTag != null)
                    {
                        return("Board already has FB feeds");
                    }
                }

                try
                {
                    _MongoBoardFbTrendingFeeds.publishedtime = Convert.ToDouble(publishedtime.Replace("\":\"", "").Replace("\",\"", ""));
                }
                catch (Exception)
                {
                    _MongoBoardFbTrendingFeeds.publishedtime = SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
                }

                _MongoBoardFbTrendingFeeds.posturl   = posturl.Replace("\":\"", "").Replace("\",\"", "");
                _MongoBoardFbTrendingFeeds.Isvisible = true;

                try
                {
                    var ret  = mongorepo.Find <MongoBoardFbTrendingFeeds>(t => t.FromName == _MongoBoardFbTrendingFeeds.FromName && t.Text == _MongoBoardFbTrendingFeeds.Text);
                    var task = Task.Run(async() =>
                    {
                        return(await ret);
                    });
                    int cont = task.Result.Count;
                    if (cont < 1)
                    {
                        mongorepo.Add <MongoBoardFbTrendingFeeds>(_MongoBoardFbTrendingFeeds);
                    }
                }
                catch (Exception ex)
                {
                }
            }

            try
            {
                boards = dbr.Find <Domain.Socioboard.Models.MongoBoards>(t => t.boardName.Equals(boardName.ToLower()));
                if (boards.First().facebookHashTag == null)
                {
                    if (boards != null || boards.Count() != 0)
                    {
                        Domain.Socioboard.Models.MongoBoards board = dbr.Single <Domain.Socioboard.Models.MongoBoards>(t => t.boardName == boards.First().boardName);
                        board.facebookHashTag = Id;
                        dbr.Update <Domain.Socioboard.Models.MongoBoards>(board);
                        return("successfulyy Updated Board.");
                    }
                    else
                    {
                        return("Board Not Found");
                    }
                }
            }
            catch (Exception e)
            {
            }

            return("");
        }
コード例 #10
0
        public void GetLatestTrendsFromTwiter()
        {
            try
            {
                string homepageUrl = "https://twitter.com/";
                string trendsUrl   = "https://twitter.com/i/trends?k=0b49e0976b&pc=true&personalized=false&show_context=true&src=module&woeid=23424977";

                string homePageResponse = getHtmlfromUrl(trendsUrl);

                try
                {
                    string[] GetTrends = Regex.Split(homePageResponse, "data-trend-name=");
                    GetTrends = GetTrends.Skip(1).ToArray();
                    foreach (string item in GetTrends)
                    {
                        try
                        {
                            string temptrend = string.Empty;
                            string trend     = getBetween(item, "\"", "\\\"").Replace("&#39;", "'");
                            trend = Regex.Replace(trend, @"\\u[\d\w]{4}", String.Empty);
                            trend = trend.Replace("#", "");
                            if (!string.IsNullOrEmpty(trend) && !trend.Contains("_") && !trend.Contains("__"))
                            {
                                if (trend.ToLower().Contains(" "))
                                {
                                    temptrend = trend.Replace(" ", "_");
                                }
                                else if (trend.ToLower().Contains("/"))
                                {
                                    temptrend = trend.Replace("/", "_");
                                }
                                else if (trend.ToLower().Contains("'\'"))
                                {
                                    temptrend = trend.Replace("'\'", "_");
                                }
                                else
                                {
                                    temptrend = trend.ToLower();
                                }
                                //Trendingkeyword _Trendingkeyword = new Trendingkeyword();
                                //_Trendingkeyword.Id = ObjectId.GenerateNewId();
                                //_Trendingkeyword.strId = ObjectId.GenerateNewId().ToString();
                                //_Trendingkeyword.keyword = trend;
                                //_Trendingkeyword.TrendingType = Domain.Socioboard.Enum.TrendingType.twitter;
                                //_Trendingkeyword.trendingdate= SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow);
                                //MongoRepository mongorepo = new MongoRepository("Trendingkeyword");
                                //var ret=mongorepo.Find<Trendingkeyword>(t => t.keyword == trend && t.TrendingType==Domain.Socioboard.Enum.TrendingType.twitter);
                                //var task = Task.Run(async () =>
                                //{
                                //    return await ret;
                                //});
                                //int count = task.Result.Count;
                                //if(count<1)
                                //{
                                //    mongorepo.Add<Trendingkeyword>(_Trendingkeyword);
                                //    AddTwittertrendingHashTagFeeds(trend, _Trendingkeyword.strId, "");
                                //}
                                DatabaseRepository dbr = new DatabaseRepository();
                                List <Domain.Socioboard.Models.MongoBoards> boards = new List <Domain.Socioboard.Models.MongoBoards>();
                                try
                                {
                                    boards = dbr.Find <Domain.Socioboard.Models.MongoBoards>(t => t.boardName.Equals(trend.ToLower()) && t.isActive == Domain.Socioboard.Enum.boardStatus.active).ToList();
                                    string Bid = string.Empty;
                                    if (boards == null || boards.Count() == 0)
                                    {
                                        //Bid = boards.First().boardId;
                                        Domain.Socioboard.Models.MongoBoards board = new Domain.Socioboard.Models.MongoBoards();
                                        board.TempboardName    = temptrend.ToLower();
                                        board.isActive         = Domain.Socioboard.Enum.boardStatus.active;
                                        board.boardName        = trend.ToLower();
                                        board.trendingtype     = Domain.Socioboard.Enum.TrendingType.twitter;
                                        board.createDate       = DateTime.UtcNow;
                                        board.boardId          = Guid.NewGuid().ToString();
                                        board.twitterHashTag   = AddTwitterHashTag(trend, board.boardId);
                                        board.instagramHashTag = AddInstagramHashTag(trend, board.boardId);
                                        board.gplusHashTag     = AddGplusHashTag(trend, board.boardId);
                                        dbr.Add <Domain.Socioboard.Models.MongoBoards>(board);
                                        string boardcreation = getHtmlfromUrl("https://api.socioboard.com/api/BoardMe/AddTOSiteMap?boardName=" + board.boardName);
                                        if (boardcreation.Contains("true"))
                                        {
                                            Console.WriteLine("created new sitemap for twitter trending keyword" + boardcreation);
                                        }

                                        Console.WriteLine("created new bord for twitter trending keyword" + board.boardName);
                                    }
                                    else
                                    {
                                        Bid = boards.First().boardId;
                                        Domain.Socioboard.Models.MongoBoards board = dbr.Single <Domain.Socioboard.Models.MongoBoards>(t => t.boardId == Bid);
                                        // board.TempboardName = temptrend;
                                        board.isActive   = Domain.Socioboard.Enum.boardStatus.active;
                                        board.createDate = DateTime.UtcNow;
                                        //board.boardId = board.boardId;
                                        //board.facebookHashTag = AddFacebookHashTag(trds[0], trds[1], board.boardId, ref HttpHelper, ref facebookUser);
                                        //board.twitterHashTag = AddTwitterHashTag(trend, board.boardId);
                                        //board.instagramHashTag = AddInstagramHashTag(trend, board.boardId);
                                        //board.gplusHashTag = AddGplusHashTag(trend, board.boardId);
                                        dbr.Update <Domain.Socioboard.Models.MongoBoards>(board);
                                        string boardcreation = getHtmlfromUrl("https://api.socioboard.com/api/BoardMe/AddTOSiteMap?boardName=" + board.boardName);
                                        if (boardcreation.Contains("true"))
                                        {
                                            Console.WriteLine("created new sitemap for twitter trending keyword" + boardcreation);
                                        }

                                        Console.WriteLine("created new bord for twitter trending keyword" + board.boardName);
                                    }
                                }

                                catch (Exception e)
                                {
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
            catch (Exception ex)
            {
            }
        }