示例#1
0
        /// <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());
            }
        }