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")); } }
/// <summary> /// create an Gplus Hash Tag and fetch all feeds with hash tag and saves in Db /// </summary> /// <param name="hashTag"> hashtag needs to search.</param> /// <param name="boardId"> board id to which we need to add the hasttag.</param> /// <param name="_redisCache"> redis cache object</param> /// <param name="settings">Application settings class </param> /// <param name="_logger"> Serial log object</param> /// <returns> gplus hashtag id.</returns> public async Task <string> AddGplusHashTag(string hashTag, string boardId, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger) { MongoBoardGplusHashTag bgpacc = new MongoBoardGplusHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Aboutme = string.Empty, Boardid = boardId, Circledbycount = string.Empty, Coverphotourl = string.Empty, Displayname = hashTag.ToLower(), Entrydate = DateTime.UtcNow.ToString(), Nickname = hashTag, Pageid = "tag", Pageurl = string.Empty, Plusonecount = string.Empty, Profileimageurl = string.Empty, Tagline = string.Empty }; MongoRepository boardrepo = new MongoRepository("MongoBoardGplusHashTag", settings); IList <MongoBoardGplusHashTag> objgplusPagelist = await boardrepo.Find <MongoBoardGplusHashTag>(t => t.Displayname.Equals(hashTag.ToLower()) && t.Pageid.Equals("tag")).ConfigureAwait(false); if (objgplusPagelist.Count() > 0) { return(objgplusPagelist.First().strId.ToString()); } await boardrepo.Add <MongoBoardGplusHashTag>(bgpacc).ConfigureAwait(false); //AddBoardGplusTagFeeds(hashTag, bgpacc.strId.ToString(),_redisCache,settings, _logger); return(bgpacc.strId.ToString()); }
public string AddGplusHashTag(string hashTag, string boardId) { MongoBoardGplusHashTag bgpacc = new MongoBoardGplusHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Aboutme = string.Empty, Boardid = boardId, Circledbycount = string.Empty, Coverphotourl = string.Empty, Displayname = hashTag.ToLower(), Entrydate = DateTime.UtcNow.ToString(), Nickname = hashTag, Pageid = "tag", Pageurl = string.Empty, Plusonecount = string.Empty, Profileimageurl = string.Empty, Tagline = string.Empty }; MongoRepository boardrepo = new MongoRepository("MongoBoardGplusHashTag"); //var ret= boardrepo.Find<MongoBoardGplusHashTag>(t => t.Displayname.Equals(hashTag.ToLower()) && t.Pageid.Equals("tag")); var ret = boardrepo.Find <MongoBoardGplusHashTag>(t => t.strId.Equals(hashTag) && t.Pageid.Equals("tag")); var task = Task.Run(async() => { return(await ret); }); IList <MongoBoardGplusHashTag> objgplusPagelist = task.Result; if (objgplusPagelist.Count() > 0) { AddBoardGplusTagFeeds(objgplusPagelist.First().Displayname, objgplusPagelist.First().strId.ToString()); } return(objgplusPagelist.First().strId.ToString()); }
public async Task <string> AddGplusHashTagFBPlugin(string hashTag, string boardId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger) { MongoBoardGplusHashTag bgpacc = new MongoBoardGplusHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Aboutme = string.Empty, Boardid = boardId, Circledbycount = string.Empty, Coverphotourl = string.Empty, Displayname = hashTag.ToLower(), Entrydate = DateTime.UtcNow.ToString(), Nickname = hashTag, Pageid = "tag", Pageurl = string.Empty, Plusonecount = string.Empty, Profileimageurl = string.Empty, Tagline = string.Empty }; MongoRepository boardrepo = new MongoRepository("MongoBoardGplusHashTag", _appSettings); try { var ret = boardrepo.Find <MongoBoardGplusHashTag>(t => t.Displayname.Equals(hashTag.ToLower()) && t.Pageid.Equals("tag")); var task = Task.Run(async() => { return(await ret); }); IList <MongoBoardGplusHashTag> objgplusPagelist = task.Result.ToList(); if (objgplusPagelist.Count() > 0) { return(objgplusPagelist.First().strId.ToString()); } boardrepo.Add <MongoBoardGplusHashTag>(bgpacc); new Thread(delegate() { AddBoardGplusTagFeeds(hashTag, bgpacc.strId.ToString(), _appSettings); }).Start(); return(bgpacc.strId.ToString()); } catch (Exception) { boardrepo.Add <MongoBoardGplusHashTag>(bgpacc); new Thread(delegate() { AddBoardGplusTagFeeds(hashTag, bgpacc.strId.ToString(), _appSettings); }).Start(); return(bgpacc.strId.ToString()); } }