/// <summary> /// Adds an Instagram hashtag if not exists in db else it's returns existing hashtag Id /// </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>instagram hashtag id</returns> public async Task <string> AddInstagramHashTag(string hashTag, string boardId, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger) { MongoBoardInstagramHashTag binstacc = new MongoBoardInstagramHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Bio = "tag", Boardid = boardId, Entrydate = DateTime.UtcNow.ToString(), Followedbycount = string.Empty, Followscount = string.Empty, Media = string.Empty, Profileid = hashTag, Profilepicurl = string.Empty, Username = hashTag.ToLower() }; MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramHashTag", settings); IList <MongoBoardInstagramHashTag> objInstagramPagelist = await boardrepo.Find <MongoBoardInstagramHashTag>(t => t.Username.Equals(hashTag.ToLower()) && t.Bio.Equals("tag")).ConfigureAwait(false); if (objInstagramPagelist.Count() > 0) { return(objInstagramPagelist.First().strId.ToString()); } await boardrepo.Add <MongoBoardInstagramHashTag>(binstacc).ConfigureAwait(false); new Thread(delegate() { AddBoardInstagramTagFeeds(hashTag, binstacc.strId.ToString(), _redisCache, settings, _logger); }).Start(); return(binstacc.strId.ToString()); }
public string AddInstagramHashTag(string hashTag, string boardId) { MongoBoardInstagramHashTag binstacc = new MongoBoardInstagramHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Bio = "tag", Boardid = boardId, Entrydate = DateTime.UtcNow.ToString(), Followedbycount = string.Empty, Followscount = string.Empty, Media = string.Empty, Profileid = hashTag, Profilepicurl = string.Empty, Username = hashTag.ToLower() }; MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramHashTag"); // var ret= boardrepo.Find<MongoBoardInstagramHashTag>(t => t.Username.Equals(hashTag.ToLower()) && t.Bio.Equals("tag")); var ret = boardrepo.Find <MongoBoardInstagramHashTag>(t => t.strId.Equals(hashTag) && t.Bio.Equals("tag")); var task = Task.Run(async() => { return(await ret); }); IList <MongoBoardInstagramHashTag> objInstagramPagelist = task.Result; if (objInstagramPagelist.Count() > 0) { AddBoardInstagramTagFeeds(objInstagramPagelist.First().Username, objInstagramPagelist.First().strId.ToString()); } return(objInstagramPagelist.First().strId.ToString()); }
public async Task <string> AddInstagramHashTagFBPlugin(string hashTag, string boardId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger) { MongoBoardInstagramHashTag binstacc = new MongoBoardInstagramHashTag { Id = ObjectId.GenerateNewId(), strId = ObjectId.GenerateNewId().ToString(), Bio = "tag", Boardid = boardId, Entrydate = DateTime.UtcNow.ToString(), Followedbycount = string.Empty, Followscount = string.Empty, Media = string.Empty, Profileid = hashTag, Profilepicurl = string.Empty, Username = hashTag.ToLower() }; MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramHashTag", _appSettings); try { var ret = boardrepo.Find <MongoBoardInstagramHashTag>(t => t.Username.Equals(hashTag.ToLower()) && t.Bio.Equals("tag")); var task = Task.Run(async() => { return(await ret); }); IList <MongoBoardInstagramHashTag> objInstagramPagelist = task.Result.ToList(); if (objInstagramPagelist.Count() > 0) { return(objInstagramPagelist.First().strId.ToString()); } boardrepo.Add <MongoBoardInstagramHashTag>(binstacc); new Thread(delegate() { AddBoardInstagramTagFeeds(hashTag, binstacc.strId.ToString(), _appSettings); }).Start(); return(binstacc.strId.ToString()); } catch (Exception) { boardrepo.Add <MongoBoardInstagramHashTag>(binstacc); new Thread(delegate() { AddBoardInstagramTagFeeds(hashTag, binstacc.strId.ToString(), _appSettings); }).Start(); return(binstacc.strId.ToString()); } }