コード例 #1
0
        public static List <Domain.Socioboard.Models.Mongo.totalfbPagePostDetails> getfbPagePostAllDetails(string[] profileId, int daysCount, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            MongoRepository mongorepo = new MongoRepository("FacebookPagePost", _appSettings);
            //string[] profileId = lstfanpageacc.Select(t => t.FbUserId).ToArray();
            List <Domain.Socioboard.Models.Mongo.totalfbPagePostDetails> inMemFacaebookPageDailyReports = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.totalfbPagePostDetails> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + profileId);

            if (inMemFacaebookPageDailyReports != null)
            {
                return(inMemFacaebookPageDailyReports);
            }
            else
            {
                List <Domain.Socioboard.Models.Mongo.totalfbPagePostDetails> reportdata = new List <totalfbPagePostDetails>();

                DateTime dayStart = new DateTime(DateTime.UtcNow.AddDays(-90).Year, DateTime.UtcNow.AddDays(-90).Month, DateTime.UtcNow.AddDays(-90).Day, 0, 0, 0, DateTimeKind.Utc);
                DateTime dayEnd   = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 23, 59, 59, DateTimeKind.Utc);
                var      ret      = mongorepo.Find <Domain.Socioboard.Models.Mongo.FacebookPagePost>(t => profileId.Contains(t.PageId) && (t.CreatedTime <= Helper.DateExtension.ToUnixTimestamp(dayEnd) && t.CreatedTime >= Helper.DateExtension.ToUnixTimestamp(dayStart)));
                var      task     = Task.Run(async() =>
                {
                    return(await ret);
                });
                if (task.Result != null)
                {
                    IList <Domain.Socioboard.Models.Mongo.FacebookPagePost> lstfacebookpagepost = task.Result.ToList();
                    var facebookId = lstfacebookpagepost.GroupBy(x => x.PageId).Select(x => x.Last()).ToList();
                    var random     = new Random();
                    foreach (Domain.Socioboard.Models.Mongo.FacebookPagePost lstcolordata in facebookId)
                    {
                        List <Domain.Socioboard.Models.Facebookaccounts> lstacc = new List <Domain.Socioboard.Models.Facebookaccounts>();
                        var randomColor = String.Format("#{0:X6}", random.Next(0x1000000));

                        Domain.Socioboard.Models.Mongo.totalfbPagePostDetails fbreportData = new totalfbPagePostDetails();
                        string comments = lstfacebookpagepost.ToList().Where(t => t.PageId == lstcolordata.PageId).Sum(t => Convert.ToInt64(t.Comments)).ToString();
                        string likes    = lstfacebookpagepost.ToList().Where(t => t.PageId == lstcolordata.PageId).Sum(t => Convert.ToInt64(t.Likes)).ToString();
                        string posts    = null;
                        try
                        {
                            posts = lstfacebookpagepost.ToList().Where(t => t.PageId == lstcolordata.PageId).Count(t => Convert.ToBoolean(int.Parse(t.PostId))).ToString();
                        }
                        catch (Exception ex)
                        {
                        }
                        string talkings = lstfacebookpagepost.ToList().Where(t => t.PageId == lstcolordata.PageId).Sum(t => Convert.ToInt64(t.Talking)).ToString();
                        string shares   = lstfacebookpagepost.ToList().Where(t => t.PageId == lstcolordata.PageId).Sum(t => Convert.ToInt64(t.Shares)).ToString();

                        // lstacc = lstfanpageacc.Where<Domain.Socioboard.Models.Facebookaccounts>(t => t.FbUserId == lstcolordata.pageId).ToList();

                        fbreportData.startDate = dayStart;
                        fbreportData.endDate   = dayEnd;
                        fbreportData.profileId = lstcolordata.PageId;
                        fbreportData.name      = lstcolordata.PageName;
                        fbreportData.commnets  = comments;
                        fbreportData.likes     = likes;
                        fbreportData.shares    = shares;
                        //fbreportData.post = posts;
                        fbreportData.color = Convert.ToString(randomColor);
                        reportdata.Add(fbreportData);
                    }
                    return(reportdata.OrderBy(t => t.startDate).ToList());
                }
                return(new List <Domain.Socioboard.Models.Mongo.totalfbPagePostDetails>());
            }
        }
コード例 #2
0
 public static string DeleteGplusProfile(Model.DatabaseRepository dbr, string profileId, long userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
 {
     Domain.Socioboard.Models.Googleplusaccounts fbAcc = dbr.Find <Domain.Socioboard.Models.Googleplusaccounts>(t => t.GpUserId.Equals(profileId) && t.UserId == userId && t.IsActive).FirstOrDefault();
     if (fbAcc != null)
     {
         fbAcc.IsActive = false;
         dbr.Update <Domain.Socioboard.Models.Googleplusaccounts>(fbAcc);
         _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusAccount + profileId);
         return("Deleted");
     }
     else
     {
         return("Account Not Exist");
     }
 }
コード例 #3
0
        public static int AddGplusAccount(JObject profile, Model.DatabaseRepository dbr, Int64 userId, Int64 groupId, string accessToken, string refreshToken, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger)
        {
            int isSaved = 0;

            Domain.Socioboard.Models.Googleplusaccounts gplusAcc = GplusRepository.getGPlusAccount(Convert.ToString(profile["id"]), _redisCache, dbr);
            oAuthTokenGPlus ObjoAuthTokenGPlus = new oAuthTokenGPlus(settings.GoogleConsumerKey, settings.GoogleConsumerSecret, settings.GoogleRedirectUri);

            if (gplusAcc != null && gplusAcc.IsActive == false)
            {
                gplusAcc.IsActive     = true;
                gplusAcc.UserId       = userId;
                gplusAcc.AccessToken  = accessToken;
                gplusAcc.RefreshToken = refreshToken;
                gplusAcc.EntryDate    = DateTime.UtcNow;
                try
                {
                    gplusAcc.GpUserName = profile["displayName"].ToString();
                }
                catch
                {
                    try
                    {
                        gplusAcc.GpUserName = profile["name"].ToString();
                    }
                    catch { }
                }
                try
                {
                    gplusAcc.GpProfileImage = Convert.ToString(profile["image"]["url"]);
                }
                catch
                {
                    try
                    {
                        gplusAcc.GpProfileImage = Convert.ToString(profile["picture"]);
                    }
                    catch { }
                }
                gplusAcc.AccessToken = accessToken;
                try
                {
                    gplusAcc.about = Convert.ToString(profile["tagline"]);
                }
                catch
                {
                    gplusAcc.about = "";
                }
                try
                {
                    gplusAcc.college = Convert.ToString(profile["organizations"][0]["name"]);
                }
                catch
                {
                    gplusAcc.college = "";
                }
                try
                {
                    gplusAcc.coverPic = Convert.ToString(profile["cover"]["coverPhoto"]["url"]);
                }
                catch
                {
                    gplusAcc.coverPic = "";
                }
                try
                {
                    gplusAcc.education = Convert.ToString(profile["organizations"][0]["type"]);
                }
                catch
                {
                    gplusAcc.education = "";
                }
                try
                {
                    gplusAcc.EmailId = Convert.ToString(profile["emails"][0]["value"]);
                }
                catch
                {
                    gplusAcc.EmailId = "";
                }
                try
                {
                    gplusAcc.gender = Convert.ToString(profile["gender"]);
                }
                catch
                {
                    gplusAcc.gender = "";
                }
                try
                {
                    gplusAcc.workPosition = Convert.ToString(profile["occupation"]);
                }
                catch
                {
                    gplusAcc.workPosition = "";
                }
                gplusAcc.LastUpdate = DateTime.UtcNow;
                #region Get_InYourCircles
                try
                {
                    string  _InyourCircles  = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleList.Replace("[userId]", gplusAcc.GpUserId).Replace("[collection]", "visible") + "?key=" + settings.GoogleApiKey, accessToken);
                    JObject J_InyourCircles = JObject.Parse(_InyourCircles);
                    gplusAcc.InYourCircles = Convert.ToInt32(J_InyourCircles["totalItems"].ToString());
                }
                catch (Exception ex)
                {
                    gplusAcc.InYourCircles = 0;
                }
                #endregion

                #region Get_HaveYouInCircles
                try
                {
                    string  _HaveYouInCircles  = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleProfile + gplusAcc.GpUserId + "?key=" + settings.GoogleApiKey, accessToken);
                    JObject J_HaveYouInCircles = JObject.Parse(_HaveYouInCircles);
                    gplusAcc.HaveYouInCircles = Convert.ToInt32(J_HaveYouInCircles["circledByCount"].ToString());
                }
                catch (Exception ex)
                {
                    gplusAcc.HaveYouInCircles = 0;
                }
                #endregion



                dbr.Update <Domain.Socioboard.Models.Googleplusaccounts>(gplusAcc);
            }
            else
            {
                gplusAcc          = new Domain.Socioboard.Models.Googleplusaccounts();
                gplusAcc.UserId   = userId;
                gplusAcc.GpUserId = profile["id"].ToString();
                try {
                    gplusAcc.GpUserName = profile["displayName"].ToString();
                }
                catch {
                    try {
                        gplusAcc.GpUserName = profile["name"].ToString();
                    }
                    catch { }
                }
                gplusAcc.IsActive     = true;
                gplusAcc.AccessToken  = accessToken;
                gplusAcc.RefreshToken = refreshToken;
                gplusAcc.EntryDate    = DateTime.UtcNow;
                try {
                    gplusAcc.GpProfileImage = Convert.ToString(profile["image"]["url"]);
                }
                catch
                {
                    try
                    {
                        gplusAcc.GpProfileImage = Convert.ToString(profile["picture"]);
                    }
                    catch { }
                }
                gplusAcc.AccessToken = accessToken;
                try
                {
                    gplusAcc.about = Convert.ToString(profile["tagline"]);
                }
                catch
                {
                    gplusAcc.about = "";
                }
                try
                {
                    gplusAcc.college = Convert.ToString(profile["organizations"][0]["name"]);
                }
                catch
                {
                    gplusAcc.college = "";
                }
                try
                {
                    gplusAcc.coverPic = Convert.ToString(profile["cover"]["coverPhoto"]["url"]);
                }
                catch
                {
                    gplusAcc.coverPic = "";
                }
                try
                {
                    gplusAcc.education = Convert.ToString(profile["organizations"][0]["type"]);
                }
                catch
                {
                    gplusAcc.education = "";
                }
                try
                {
                    gplusAcc.EmailId = Convert.ToString(profile["emails"][0]["value"]);
                }
                catch
                {
                    try {
                        try
                        {
                            gplusAcc.EmailId = Convert.ToString(profile["email"]);
                        }
                        catch { }
                    } catch { }
                    gplusAcc.EmailId = "";
                }
                try
                {
                    gplusAcc.gender = Convert.ToString(profile["gender"]);
                }
                catch
                {
                    gplusAcc.gender = "";
                }
                try
                {
                    gplusAcc.workPosition = Convert.ToString(profile["occupation"]);
                }
                catch
                {
                    gplusAcc.workPosition = "";
                }
                gplusAcc.LastUpdate = DateTime.UtcNow;


                #region Get_InYourCircles
                try
                {
                    string  _InyourCircles  = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleList.Replace("[userId]", gplusAcc.GpUserId).Replace("[collection]", "visible") + "?key=" + settings.GoogleApiKey, accessToken);
                    JObject J_InyourCircles = JObject.Parse(_InyourCircles);
                    gplusAcc.InYourCircles = Convert.ToInt32(J_InyourCircles["totalItems"].ToString());
                }
                catch (Exception ex)
                {
                    gplusAcc.InYourCircles = 0;
                }
                #endregion

                #region Get_HaveYouInCircles
                try
                {
                    string  _HaveYouInCircles  = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleProfile + gplusAcc.GpUserId + "?key=" + settings.GoogleApiKey, accessToken);
                    JObject J_HaveYouInCircles = JObject.Parse(_HaveYouInCircles);
                    gplusAcc.HaveYouInCircles = Convert.ToInt32(J_HaveYouInCircles["circledByCount"].ToString());
                }
                catch (Exception ex)
                {
                    gplusAcc.HaveYouInCircles = 0;
                }
                #endregion

                isSaved = dbr.Add <Domain.Socioboard.Models.Googleplusaccounts>(gplusAcc);
            }

            if (isSaved == 1)
            {
                List <Domain.Socioboard.Models.Googleplusaccounts> lstgplusAcc = dbr.Find <Domain.Socioboard.Models.Googleplusaccounts>(t => t.GpUserId.Equals(gplusAcc.GpUserId)).ToList();
                if (lstgplusAcc != null && lstgplusAcc.Count() > 0)
                {
                    isSaved = GroupProfilesRepository.AddGroupProfile(groupId, lstgplusAcc.First().GpUserId, lstgplusAcc.First().GpUserName, userId, lstgplusAcc.First().GpProfileImage, Domain.Socioboard.Enum.SocialProfileType.GPlus, dbr);
                    //codes to delete cache
                    _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheUserProfileCount + userId);
                    _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId);


                    if (isSaved == 1)
                    {
                        new Thread(delegate()
                        {
                            GetUserActivities(gplusAcc.GpUserId, gplusAcc.AccessToken, settings, _logger);
                        }).Start();
                    }
                }
            }
            return(isSaved);
        }
コード例 #4
0
        public static List <Domain.Socioboard.Models.Mongo.InstagramDailyReport> getInstagramReportData(string profileId, int daysCount, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            MongoRepository mongorepo = new MongoRepository("InstagramDailyReport", _appSettings);
            List <Domain.Socioboard.Models.Mongo.InstagramDailyReport> inMemFacaebookPageDailyReports = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.InstagramDailyReport> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + profileId);

            if (inMemFacaebookPageDailyReports != null)
            {
                return(inMemFacaebookPageDailyReports);
            }
            else
            {
                DateTime dayStart = new DateTime(DateTime.UtcNow.AddDays(-daysCount).Year, DateTime.UtcNow.AddDays(-daysCount).Month, DateTime.UtcNow.AddDays(-daysCount).Day, 0, 0, 0, DateTimeKind.Utc);
                DateTime dayEnd   = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 23, 59, 59, DateTimeKind.Utc);
                var      ret      = mongorepo.Find <Domain.Socioboard.Models.Mongo.InstagramDailyReport>(t => t.profileId == profileId && t.date <= Helper.DateExtension.ConvertToUnixTimestamp(dayEnd) && t.date >= Helper.DateExtension.ConvertToUnixTimestamp(dayStart));
                var      task     = Task.Run(async() =>
                {
                    return(await ret);
                });

                if (task.Result != null)
                {
                    IList <Domain.Socioboard.Models.Mongo.InstagramDailyReport> lstfbpagereportdata = task.Result.ToList();
                    if (lstfbpagereportdata.Count > 0)
                    {
                        _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + profileId, lstfbpagereportdata.ToList());
                    }
                    return(lstfbpagereportdata.OrderBy(t => t.date).ToList());
                }
                return(new List <Domain.Socioboard.Models.Mongo.InstagramDailyReport>());
            }
        }
コード例 #5
0
        public static Domain.Socioboard.Models.GoogleAnalyticsAccount getGAAccount(string GaAccountId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            try
            {
                Domain.Socioboard.Models.GoogleAnalyticsAccount inMemGAAcc = _redisCache.Get <Domain.Socioboard.Models.GoogleAnalyticsAccount>(Domain.Socioboard.Consatants.SocioboardConsts.CacheGAAccount + GaAccountId);
                if (inMemGAAcc != null)
                {
                    return(inMemGAAcc);
                }
            }
            catch { }

            List <Domain.Socioboard.Models.GoogleAnalyticsAccount> lstGAAcc = dbr.Find <Domain.Socioboard.Models.GoogleAnalyticsAccount>(t => t.GaProfileId.Equals(GaAccountId)).ToList();

            if (lstGAAcc != null && lstGAAcc.Count() > 0)
            {
                _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusAccount + GaAccountId, lstGAAcc.First());
                return(lstGAAcc.First());
            }
            else
            {
                return(null);
            }
        }
コード例 #6
0
        public static string PostRssfeed(string profileId, string Url, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr, Helper.Cache _redisCache)
        {
            string ret = "";

            string[] lstProfileIds = null;
            if (profileId != null)
            {
                lstProfileIds = profileId.Split(',');
                profileId     = lstProfileIds[0];
            }

            foreach (var itemPrf in lstProfileIds)
            {
                string          prId = itemPrf.Substring(5, itemPrf.Length - 5);
                MongoRepository _RssFeedRepository = new MongoRepository("RssFeed", _appSettings);
                List <Domain.Socioboard.Models.Mongo.RssFeed> objrssdata = new List <Domain.Socioboard.Models.Mongo.RssFeed>();
                var rt   = _RssFeedRepository.Find <Domain.Socioboard.Models.Mongo.RssFeed>(t => t.ProfileId.Equals(prId) && t.Status == false);
                var task = Task.Run(async() =>
                {
                    return(await rt);
                });
                IList <Domain.Socioboard.Models.Mongo.RssFeed> _objrssdata = task.Result;
                objrssdata = _objrssdata.ToList();
                foreach (var item in objrssdata)
                {
                    if (_objrssdata.First().ProfileType == Domain.Socioboard.Enum.SocialProfileType.Facebook || _objrssdata.First().ProfileType == Domain.Socioboard.Enum.SocialProfileType.FacebookFanPage)
                    {
                        try
                        {
                            Domain.Socioboard.Models.Facebookaccounts _Facebookaccounts = Repositories.FacebookRepository.getFacebookAccount(item.ProfileId, _redisCache, dbr);
                            ret = Helper.FacebookHelper.FacebookComposeMessageRss(item.Message, _Facebookaccounts.AccessToken, _Facebookaccounts.FbUserId, item.Title, item.Link, item.strId, _appSettings);
                        }
                        catch (Exception ex)
                        {
                            return("");
                        }
                    }
                    else if (_objrssdata.First().ProfileType == Domain.Socioboard.Enum.SocialProfileType.Twitter)
                    {
                        try
                        {
                            string message        = "";
                            string UrlShortendata = GetShortenUrl(item.Link, _appSettings);
                            string shortenUrl     = string.Empty;
                            try
                            {
                                JObject JData = JObject.Parse(UrlShortendata);
                                if (JData["status_txt"].ToString() == "OK")
                                {
                                    shortenUrl = JData["data"]["url"].ToString();
                                }
                            }
                            catch (Exception ex)
                            {
                            }

                            if (item.Message.Length > 115)
                            {
                                message = item.Message.Substring(0, 115);
                            }
                            else
                            {
                                message = item.Message;
                            }
                            message += " " + shortenUrl;
                            Domain.Socioboard.Models.TwitterAccount _TwitterAccount = Repositories.TwitterRepository.getTwitterAccount(item.ProfileId, _redisCache, dbr);
                            ret = Helper.TwitterHelper.TwitterComposeMessageRss(message, _TwitterAccount.oAuthToken, _TwitterAccount.oAuthSecret, _TwitterAccount.twitterUserId, _TwitterAccount.twitterScreenName, item.strId, _appSettings);
                        }
                        catch (Exception ex)
                        {
                            return("");
                        }
                    }
                }
                return(ret);
            }
            return(ret);
        }
コード例 #7
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());
        }
コード例 #8
0
 public static string DeleteCompanyPageProfile(Model.DatabaseRepository dbr, string profileId, long userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
 {
     Domain.Socioboard.Models.LinkedinCompanyPage fbAcc = dbr.Find <Domain.Socioboard.Models.LinkedinCompanyPage>(t => t.LinkedinPageId.Equals(profileId) && t.UserId == userId && t.IsActive).FirstOrDefault();
     if (fbAcc != null)
     {
         //fbAcc.IsActive = false;
         //dbr.Update<Domain.Socioboard.Models.LinkedinCompanyPage>(fbAcc);
         dbr.Delete <Domain.Socioboard.Models.LinkedinCompanyPage>(fbAcc);
         _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheLinkedInCompanyPage + profileId);
         return("Deleted");
     }
     else
     {
         return("Account Not Exist");
     }
 }
コード例 #9
0
        public static Domain.Socioboard.Models.LinkedinCompanyPage getLinkedinCompanyPage(string LICompanyPageUserId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            try
            {
                Domain.Socioboard.Models.LinkedinCompanyPage inMemLiAcc = _redisCache.Get <Domain.Socioboard.Models.LinkedinCompanyPage>(Domain.Socioboard.Consatants.SocioboardConsts.CacheLinkedInCompanyPage + LICompanyPageUserId);
                if (inMemLiAcc != null)
                {
                    return(inMemLiAcc);
                }
            }
            catch { }

            try
            {
                List <Domain.Socioboard.Models.LinkedinCompanyPage> lstLiAcc = dbr.Find <Domain.Socioboard.Models.LinkedinCompanyPage>(t => t.LinkedinPageId.Equals(LICompanyPageUserId) && t.IsActive).ToList();
                if (lstLiAcc != null)
                {
                    _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheLinkedInCompanyPage + LICompanyPageUserId, lstLiAcc.First());
                    return(lstLiAcc.First());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #10
0
        public static Domain.Socioboard.Models.LinkedInData GetTopCompanyPagePosts(string PageId, long userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr, int skip, int count)
        {
            List <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts> inMemCompanyPagePosts = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheLinkedInCompanyPageFeed + PageId);

            if (inMemCompanyPagePosts != null)
            {
                Domain.Socioboard.Models.LinkedInData _LinkedInData = new Domain.Socioboard.Models.LinkedInData();
                _LinkedInData._LinkedinCompanyPage      = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(PageId, _redisCache, dbr);
                _LinkedInData._LinkedinCompanyPagePosts = inMemCompanyPagePosts;
                return(_LinkedInData);
            }
            else
            {
                List <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts> lstLinkedinCompanyPagePosts = new List <LinkedinCompanyPagePosts>();
                MongoRepository _linkedincompanypagereppo = new MongoRepository("LinkedinCompanyPagePosts", _appSettings);
                var             builder = Builders <LinkedinCompanyPagePosts> .Sort;
                var             sort    = builder.Descending(t => t.PostDate);
                var             ret     = _linkedincompanypagereppo.FindWithRange <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts>(t => t.PageId.Equals(PageId), sort, 0, 100);
                var             task    = Task.Run(async() =>
                {
                    return(await ret);
                });
                lstLinkedinCompanyPagePosts = task.Result.ToList();
                if (lstLinkedinCompanyPagePosts.Count > 0)
                {
                    _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheLinkedInCompanyPageFeed + PageId, lstLinkedinCompanyPagePosts);
                }
                Domain.Socioboard.Models.LinkedInData _LinkedInData = new Domain.Socioboard.Models.LinkedInData();
                _LinkedInData._LinkedinCompanyPage      = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(PageId, _redisCache, dbr);
                _LinkedInData._LinkedinCompanyPagePosts = lstLinkedinCompanyPagePosts;
                return(_LinkedInData);
            }
        }
コード例 #11
0
        public static string PostCommentOnLinkedinCompanyPage(string LinkedinPageId, string Updatekey, string comment, long userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr)
        {
            string postdata = Helper.LinkedInHelper.PostCommentOnLinkedinCompanyPage(userId, comment, Updatekey, LinkedinPageId, _redisCache, dbr, _appSettings);

            if (postdata != "Failed")
            {
                MongoRepository _linkedincompanypagereppo = new MongoRepository("LinkedinCompanyPagePosts", _appSettings);
                var             ret  = _linkedincompanypagereppo.Find <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts>(t => t.PageId == LinkedinPageId && t.UpdateKey.Equals(Updatekey));
                var             task = Task.Run(async() =>
                {
                    return(await ret);
                });
                int count = task.Result.Count;
                Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts _LinkedinCompanyPagePosts = task.Result.First();
                if (count > 0)
                {
                    var builders = Builders <BsonDocument> .Filter;
                    FilterDefinition <BsonDocument> filter = builders.Eq("UpdateKey", Updatekey);
                    var update = Builders <BsonDocument> .Update.Set("Comments", _LinkedinCompanyPagePosts.Comments + 1);

                    _linkedincompanypagereppo.Update <Domain.Socioboard.Models.Mongo.LinkedinCompanyPagePosts>(update, filter);
                }
            }
            return(postdata);
        }
コード例 #12
0
        public static string AddLinkedInCompantPage(oAuthLinkedIn _oauth, dynamic profile, Model.DatabaseRepository dbr, Int64 userId, Int64 groupId, string accesstoken, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger)
        {
            int isSaved = 0;

            Domain.Socioboard.Models.LinkedinCompanyPage _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedinCompanyPage(profile.Pageid.ToString(), _redisCache, dbr);
            if (_LinkedInAccount != null && _LinkedInAccount.IsActive == false)
            {
                _LinkedInAccount.IsActive         = true;
                _LinkedInAccount.UserId           = userId;
                _LinkedInAccount.EmailDomains     = profile.EmailDomains.ToString();
                _LinkedInAccount.OAuthToken       = accesstoken;
                _LinkedInAccount.LinkedinPageName = profile.name.ToString();
                _LinkedInAccount.lastUpdate       = DateTime.UtcNow;
                try
                {
                    string NuberOfFollower = profile.num_followers.ToString();
                    _LinkedInAccount.NumFollowers = Convert.ToInt16(NuberOfFollower);
                }
                catch { }
                try
                {
                    _LinkedInAccount.CompanyType = profile.company_type.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.LogoUrl = profile.logo_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.SquareLogoUrl = profile.square_logo_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.BlogRssUrl = profile.blog_rss_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.UniversalName = profile.universal_name.ToString();
                }
                catch { }
                isSaved = dbr.Update <Domain.Socioboard.Models.LinkedinCompanyPage>(_LinkedInAccount);
            }
            else if (_LinkedInAccount == null)
            {
                _LinkedInAccount = new Domain.Socioboard.Models.LinkedinCompanyPage();
                _LinkedInAccount.LinkedinPageId = profile.Pageid.ToString();
                _LinkedInAccount.IsActive       = true;
                _LinkedInAccount.UserId         = userId;
                _LinkedInAccount.lastUpdate     = DateTime.UtcNow;
                try
                {
                    _LinkedInAccount.EmailDomains = profile.EmailDomains.ToString();
                }
                catch (Exception ex)
                {
                }
                _LinkedInAccount.LinkedinPageName = profile.name.ToString();
                _LinkedInAccount.OAuthToken       = _oauth.Token;
                _LinkedInAccount.OAuthSecret      = _oauth.TokenSecret;
                _LinkedInAccount.OAuthVerifier    = _oauth.Verifier;
                try
                {
                    _LinkedInAccount.Description = profile.description.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.FoundedYear = profile.founded_year.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.EndYear = profile.end_year.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.Locations = profile.locations.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.Specialties = profile.Specialties.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.WebsiteUrl = profile.website_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.Status = profile.status.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.EmployeeCountRange = profile.employee_count_range.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.Industries = profile.industries.ToString();
                }
                catch { }
                try
                {
                    string NuberOfFollower = profile.num_followers.ToString();
                    _LinkedInAccount.NumFollowers = Convert.ToInt16(NuberOfFollower);
                }
                catch { }
                try
                {
                    _LinkedInAccount.CompanyType = profile.company_type.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.LogoUrl = profile.logo_url.ToString();
                }
                catch (Exception ex)
                {
                    _LinkedInAccount.LogoUrl = "https://www.takeaway.com/images/icons/_blankprofile.png";
                }
                try
                {
                    _LinkedInAccount.SquareLogoUrl = profile.square_logo_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.BlogRssUrl = profile.blog_rss_url.ToString();
                }
                catch { }
                try
                {
                    _LinkedInAccount.UniversalName = profile.universal_name.ToString();
                }
                catch { }
                isSaved = dbr.Add <Domain.Socioboard.Models.LinkedinCompanyPage>(_LinkedInAccount);
                if (isSaved == 1)
                {
                    List <Domain.Socioboard.Models.LinkedinCompanyPage> lstliAcc = dbr.Find <Domain.Socioboard.Models.LinkedinCompanyPage>(t => t.LinkedinPageId.Equals(_LinkedInAccount.LinkedinPageId)).ToList();
                    if (lstliAcc != null && lstliAcc.Count() > 0)
                    {
                        isSaved = GroupProfilesRepository.AddGroupProfile(groupId, lstliAcc.First().LinkedinPageId, lstliAcc.First().LinkedinPageName, userId, lstliAcc.First().LogoUrl, Domain.Socioboard.Enum.SocialProfileType.LinkedInComapanyPage, dbr);
                        if (isSaved == 1)
                        {
                            _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheUserProfileCount + userId);
                            _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId);
                            new Thread(delegate()
                            {
                                LinkedInAccountRepository.SaveLinkedInCompanyPageFeed(_oauth, lstliAcc.First().LinkedinPageId, lstliAcc.First().UserId, _appSettings);
                            }).Start();
                        }
                    }
                }
            }

            else if (_LinkedInAccount != null && _LinkedInAccount.IsActive == true)
            {
                if (_LinkedInAccount.UserId != userId)
                {
                    return("added by other");
                }
            }
            return(isSaved.ToString());
        }
コード例 #13
0
        public static List <Domain.Socioboard.Models.Mongo.totalFacebookpagefans> GetTotalFanpageDet(List <Domain.Socioboard.Models.Facebookaccounts> lstfanpageacc, int daysCount, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            MongoRepository mongorepo = new MongoRepository("FacaebookPageDailyReports", _appSettings);

            string[] profileId = lstfanpageacc.Select(t => t.FbUserId).ToArray();
            List <Domain.Socioboard.Models.Mongo.totalFacebookpagefans> inMemFacaebookPageDailyReports = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.totalFacebookpagefans> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + profileId);

            if (inMemFacaebookPageDailyReports != null)
            {
                return(inMemFacaebookPageDailyReports);
            }
            else
            {
                List <Domain.Socioboard.Models.Mongo.totalFacebookpagefans> reportdata = new List <totalFacebookpagefans>();
                DateTime dayStart = new DateTime(DateTime.UtcNow.AddDays(-90).Year, DateTime.UtcNow.AddDays(-90).Month, DateTime.UtcNow.AddDays(-90).Day, 0, 0, 0, DateTimeKind.Utc);
                DateTime dayEnd   = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 23, 59, 59, DateTimeKind.Utc);
                var      ret      = mongorepo.Find <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports>(t => profileId.Contains(t.pageId) && (t.date <= Helper.DateExtension.ConvertToUnixTimestamp(dayEnd)) && (t.date >= Helper.DateExtension.ConvertToUnixTimestamp(dayStart)));
                var      task     = Task.Run(async() =>
                {
                    return(await ret);
                });
                if (task.Result != null)
                {
                    IList <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> lstfbfanpage = task.Result.ToList();
                    lstfbfanpage = lstfbfanpage.OrderByDescending(t => t.date).ToList();
                    var facebookId = lstfbfanpage.GroupBy(x => x.pageId).Select(x => x.First()).ToList();
                    var random     = new Random();
                    foreach (Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports lstcolordata in facebookId)
                    {
                        List <Domain.Socioboard.Models.Facebookaccounts> lstacc = new List <Domain.Socioboard.Models.Facebookaccounts>();
                        var randomColor = String.Format("#{0:X6}", random.Next(0x1000000));
                        Domain.Socioboard.Models.Mongo.totalFacebookpagefans fbreportData = new totalFacebookpagefans();
                        // string fansCount = lstfbfanpage.ToList().Where(t => t.pageId == lstcolordata.pageId).Sum(t => Convert.ToInt64(t.perDayLikes)).ToString();

                        lstacc = lstfanpageacc.Where <Domain.Socioboard.Models.Facebookaccounts>(t => t.FbUserId == lstcolordata.pageId).ToList();
                        //lstFbAcc = lstFbAcc.Where(t => t.FbUserId.Contains("1842605449304385")).ToList();


                        fbreportData.startdate        = dayStart;
                        fbreportData.endtdate         = dayEnd;
                        fbreportData.totalfans        = lstcolordata.totalLikes;
                        fbreportData.profileId        = lstcolordata.pageId;
                        fbreportData.facebookPagename = lstacc.First().FbUserName;
                        fbreportData.profilepic       = lstacc.First().ProfileUrl;
                        fbreportData.colors           = Convert.ToString(randomColor);

                        reportdata.Add(fbreportData);
                    }
                    if (lstfbfanpage.Count > 0)
                    {
                        _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + profileId, lstfbfanpage.ToList());
                    }
                    return(reportdata.OrderBy(t => t.startdate).ToList());
                    // return lstfbpagereportdata.OrderBy(t => t.date).ToList();
                }
                return(new List <Domain.Socioboard.Models.Mongo.totalFacebookpagefans>());
            }
        }
コード例 #14
0
        public static List <Domain.Socioboard.Models.Mongo.FacebookPagePost> getFacebookPagePostReports(string profileId, int daysCount, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            MongoRepository mongorepo = new MongoRepository("FacebookPagePost", _appSettings);

            DateTime dayStart = new DateTime(DateTime.UtcNow.AddDays(-90).Year, DateTime.UtcNow.AddDays(-90).Month, DateTime.UtcNow.AddDays(-90).Day, 0, 0, 0, DateTimeKind.Utc);
            DateTime dayEnd   = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 23, 59, 59, DateTimeKind.Utc);
            var      ret      = mongorepo.Find <Domain.Socioboard.Models.Mongo.FacebookPagePost>(t => t.PageId == profileId && (t.CreatedTime <= Helper.DateExtension.ToUnixTimestamp(dayEnd) && t.CreatedTime >= Helper.DateExtension.ToUnixTimestamp(dayStart)));
            var      task     = Task.Run(async() =>
            {
                return(await ret);
            });
            IList <Domain.Socioboard.Models.Mongo.FacebookPagePost> lstfacebookpagepost = task.Result.ToList();

            return(lstfacebookpagepost.ToList());
        }
コード例 #15
0
        public static Domain.Socioboard.Models.MongoBoards getBoardFeedsByName(string boardName, Helper.Cache _redisCache, Helper.AppSettings _appSettings, ILogger _logger, DatabaseRepository dbr)
        {
            MongoRepository boardrepo = new MongoRepository("MongoBoards", _appSettings);

            try
            {
                Domain.Socioboard.Models.MongoBoards inMemboard = _redisCache.Get <Domain.Socioboard.Models.MongoBoards>(Domain.Socioboard.Consatants.SocioboardConsts.CacheBoard + boardName);
                if (inMemboard != null)
                {
                    return(inMemboard);
                }
                else
                {
                    Domain.Socioboard.Models.MongoBoards board = dbr.Find <Domain.Socioboard.Models.MongoBoards>(t => t.boardId.Equals(boardName)).First();
                    return(board);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(null);
            }
        }
コード例 #16
0
        public static int AddLinkedInAccount(oAuthLinkedIn _oauth, dynamic profile, Model.DatabaseRepository dbr, Int64 userId, Int64 groupId, string accessToken, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger)
        {
            int isSaved = 0;

            Domain.Socioboard.Models.LinkedInAccount _LinkedInAccount = Repositories.LinkedInAccountRepository.getLinkedInAccount(profile.id.ToString(), _redisCache, dbr);
            if (_LinkedInAccount != null && _LinkedInAccount.IsActive == false)
            {
                _LinkedInAccount.IsActive    = true;
                _LinkedInAccount.UserId      = userId;
                _LinkedInAccount.EmailId     = profile.email.ToString();
                _LinkedInAccount.OAuthToken  = accessToken;
                _LinkedInAccount.Connections = Convert.ToInt32(profile.connections.ToString());
                _LinkedInAccount.LastUpdate  = DateTime.UtcNow;
                isSaved = dbr.Update <Domain.Socioboard.Models.LinkedInAccount>(_LinkedInAccount);
            }
            else
            {
                _LinkedInAccount = new Domain.Socioboard.Models.LinkedInAccount();
                _LinkedInAccount.LinkedinUserId = profile.id.ToString();
                _LinkedInAccount.IsActive       = true;
                _LinkedInAccount.UserId         = userId;
                _LinkedInAccount.Connections    = Convert.ToInt32(profile.connections.ToString());
                _LinkedInAccount.LastUpdate     = DateTime.UtcNow;
                try
                {
                    _LinkedInAccount.EmailId = profile.email.ToString();
                }
                catch (Exception ex)
                {
                }
                _LinkedInAccount.LinkedinUserName = profile.first_name.ToString() + profile.last_name.ToString();
                _LinkedInAccount.OAuthToken       = _oauth.Token;
                _LinkedInAccount.OAuthSecret      = _oauth.TokenSecret;
                _LinkedInAccount.OAuthVerifier    = _oauth.Verifier;
                try
                {
                    _LinkedInAccount.ProfileImageUrl = profile.picture_url.ToString();
                }
                catch (Exception ex)
                {
                    _LinkedInAccount.ProfileImageUrl = "https://www.takeaway.com/images/icons/_blankprofile.png";
                }
                try
                {
                    _LinkedInAccount.ProfileUrl = profile.profile_url.ToString();
                }
                catch (Exception ex)
                {
                }
                isSaved = dbr.Add <Domain.Socioboard.Models.LinkedInAccount>(_LinkedInAccount);
                if (isSaved == 1)
                {
                    List <Domain.Socioboard.Models.LinkedInAccount> lstliAcc = dbr.Find <Domain.Socioboard.Models.LinkedInAccount>(t => t.LinkedinUserId.Equals(_LinkedInAccount.LinkedinUserId)).ToList();
                    if (lstliAcc != null && lstliAcc.Count() > 0)
                    {
                        isSaved = GroupProfilesRepository.AddGroupProfile(groupId, lstliAcc.First().LinkedinUserId, lstliAcc.First().LinkedinUserName, userId, lstliAcc.First().ProfileImageUrl, Domain.Socioboard.Enum.SocialProfileType.LinkedIn, dbr);
                        if (isSaved == 1)
                        {
                            _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheUserProfileCount + userId);
                            _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId);
                        }
                    }
                }
            }
            return(isSaved);
        }
コード例 #17
0
        public async Task <string> FBPlugingCreateBoard(string boardName, string twitterHashTag, string instagramHashTag, string gplusHashTag, long userId, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger, DatabaseRepository dbr)
        {
            if (boardName.Contains("~") || boardName.Contains("@") || boardName.Contains("$") || boardName.Contains("%") || boardName.Contains("^") || boardName.Contains("*") || boardName.Contains("(") || boardName.Contains(")") || boardName.Contains("'") || boardName.Contains("?") || boardName.Contains("+") || boardName.Contains("'\'") || boardName.Contains("| ") || boardName.Contains("/"))
            {
                return("You cannot create board with special characters");
            }
            else
            {
                IList <Domain.Socioboard.Models.MongoBoards> boards = new List <Domain.Socioboard.Models.MongoBoards>();
                try
                {
                    boards = dbr.Find <Domain.Socioboard.Models.MongoBoards>(t => t.boardName.Equals(boardName.ToLower()));
                }
                catch (Exception e)
                {
                }
                string Bid = string.Empty;
                if (boards == null || boards.Count() == 0)
                {
                    Domain.Socioboard.Models.MongoBoards board = new Domain.Socioboard.Models.MongoBoards();
                    board.isActive     = Domain.Socioboard.Enum.boardStatus.active;
                    board.boardName    = boardName.ToLower();
                    board.createDate   = DateTime.UtcNow;
                    board.userId       = userId;
                    board.trendingtype = Domain.Socioboard.Enum.TrendingType.facebook;
                    board.boardId      = Guid.NewGuid().ToString();
                    if (board.boardName.ToLower().Contains(" "))
                    {
                        board.TempboardName = board.boardName.Replace(" ", "_");
                    }
                    else
                    {
                        board.TempboardName = boardName.ToLower();
                    }
                    if (!string.IsNullOrEmpty(twitterHashTag) && twitterHashTag != "undefined")
                    {
                        TwitterRepository tr = new TwitterRepository();
                        board.twitterHashTag = await tr.AddTwitterHashTagFBPlugin(twitterHashTag, board.boardId, _redisCache, settings, _logger);
                    }
                    if (!string.IsNullOrEmpty(instagramHashTag) && instagramHashTag != "undefined")
                    {
                        InstagramRepository instRepo = new InstagramRepository();
                        board.instagramHashTag = await instRepo.AddInstagramHashTagFBPlugin(instagramHashTag, board.boardId, _redisCache, settings, _logger);
                    }
                    if (!string.IsNullOrEmpty(gplusHashTag) && gplusHashTag != "undefined")
                    {
                        GplusRepository gplusRepo = new GplusRepository();
                        board.gplusHashTag = await gplusRepo.AddGplusHashTagFBPlugin(gplusHashTag, board.boardId, _redisCache, settings, _logger);
                    }

                    dbr.Add <Domain.Socioboard.Models.MongoBoards>(board);
                    return("successfulyy added.");
                }
                else
                {
                    Bid = boards.First().boardId;
                    Domain.Socioboard.Models.MongoBoards board = dbr.Single <Domain.Socioboard.Models.MongoBoards>(t => t.boardId == Bid);
                    //TwitterRepository tr = new TwitterRepository();
                    //board.twitterHashTag = await tr.AddTwitterHashTagFBPlugin(twitterHashTag, board.boardId, _redisCache, settings, _logger);
                    //InstagramRepository instRepo = new InstagramRepository();
                    //board.instagramHashTag = await instRepo.AddInstagramHashTagFBPlugin(instagramHashTag, board.boardId, _redisCache, settings, _logger);
                    //GplusRepository gplusRepo = new GplusRepository();
                    //board.gplusHashTag = await gplusRepo.AddGplusHashTagFBPlugin(gplusHashTag, board.boardId, _redisCache, settings, _logger);
                    //board.isActive = Domain.Socioboard.Enum.boardStatus.active;
                    board.createDate = DateTime.UtcNow;
                    dbr.Update <Domain.Socioboard.Models.MongoBoards>(board);
                    return("successfulyy Updated Board.");
                }
            }
        }
コード例 #18
0
        public static List <Domain.Socioboard.Models.Groupmembers> LeaveTeam(long groupId, long userId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <Domain.Socioboard.Models.Groupmembers> leave = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => t.groupid == groupId && t.userId == userId).ToList();

            foreach (Domain.Socioboard.Models.Groupmembers item in leave)
            {
                dbr.Delete <Domain.Socioboard.Models.Groupmembers>(item);
            }

            return(leave);
        }
コード例 #19
0
        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());
            }
        }
コード例 #20
0
        public static List <Domain.Socioboard.Models.retaingroup> RetainGrpMber(long userId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <Domain.Socioboard.Models.retaingroup> lstgrpdetal = new List <retaingroup>();
            List <Groupmembers> lstadmingrpmember = dbr.Find <Groupmembers>(t => t.userId == userId && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted && t.isAdmin == true).ToList();
            List <long>         tempLst           = new List <long>();

            foreach (var itemLst in lstadmingrpmember)
            {
                tempLst.Add(itemLst.groupid);
            }
            List <Groupmembers> membersAdminGrp      = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => tempLst.Contains(t.groupid) && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted && t.isAdmin != true).ToList();
            List <Groupmembers> lstnonadmingrpmember = dbr.Find <Groupmembers>(t => t.userId == userId && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted && t.isAdmin != true).ToList();

            foreach (var item in membersAdminGrp)
            {
                Domain.Socioboard.Models.retaingroup lstretailgrp = new retaingroup();

                Groups grp     = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.id == item.groupid).First();
                string grpname = grp.groupName;
                lstretailgrp.grpname  = grpname;
                lstretailgrp.username = item.firstName;
                lstretailgrp.userId   = item.email;
                lstretailgrp.memberid = item.id;
                lstretailgrp.grpid    = item.groupid;
                lstretailgrp.type     = "You";

                lstgrpdetal.Add(lstretailgrp);
            }
            foreach (var item in lstnonadmingrpmember)
            {
                Domain.Socioboard.Models.retaingroup lstretailgrp = new retaingroup();

                Groups grp     = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.id == item.groupid).First();
                string grpname = grp.groupName;
                lstretailgrp.grpname  = grpname;
                lstretailgrp.username = item.firstName;
                lstretailgrp.userId   = item.email;
                lstretailgrp.memberid = item.id;
                lstretailgrp.grpid    = item.groupid;
                lstretailgrp.type     = "Other";
                lstgrpdetal.Add(lstretailgrp);
            }
            //lstretailgrp.memberofadmin = membersAdminGrp;
            //lstretailgrp.memberofNonadmin = lstnonadmingrpmember;
            return(lstgrpdetal);
        }
コード例 #21
0
        public bool AddBoardInstagramTagFeeds(string hashTag, string boardInstagramTagId, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger)
        {
            MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramFeeds", settings);
            bool            output    = false;

            try
            {
                JObject recentactivities = JObject.Parse(TagSearch.InstagramTagSearch(hashTag, settings.InstagramBoardMeAccessToken));
                foreach (JObject obj in JArray.Parse(recentactivities["data"].ToString()))
                {
                    MongoBoardInstagramFeeds binstfeed = new MongoBoardInstagramFeeds();
                    binstfeed.Id = ObjectId.GenerateNewId();
                    binstfeed.Instagramaccountid = boardInstagramTagId;
                    binstfeed.Isvisible          = true;
                    try
                    {
                        binstfeed.Imageurl = obj["images"]["standard_resolution"]["url"].ToString();
                    }
                    catch { }
                    try
                    {
                        binstfeed.Link = obj["link"].ToString();
                    }
                    catch { }
                    try
                    {
                        foreach (JValue tag in JArray.Parse(obj["tags"].ToString()))
                        {
                            try
                            {
                                binstfeed.Tags = tag.ToString() + ",";
                            }
                            catch { }
                        }
                    }
                    catch { }
                    try
                    {
                        binstfeed.Publishedtime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(new DateTime(1970, 1, 1).AddSeconds(Convert.ToInt64(obj["created_time"].ToString())));
                    }
                    catch
                    {
                        //binstfeed.Createdtime = DateTime.UtcNow;
                    }
                    try
                    {
                        binstfeed.Feedid = obj["id"].ToString();
                    }
                    catch { }
                    try
                    {
                        binstfeed.FromId = obj["user"]["username"].ToString();
                    }
                    catch { }
                    try
                    {
                        binstfeed.FromName = obj["user"]["full_name"].ToString();
                    }
                    catch { }
                    try
                    {
                        binstfeed.FromPicUrl = obj["user"]["profile_picture"].ToString();
                    }
                    catch { }

                    try
                    {
                        boardrepo.Add <MongoBoardInstagramFeeds>(binstfeed);
                    }
                    catch (Exception e) { }


                    //if (!boardrepo.checkInstagramFeedExists(binstfeed.Feedid, BoardInstagramTagId))
                    //{
                    //    boardrepo.addBoardInstagramFeeds(binstfeed);
                    //}
                }
            }
            catch { }

            return(output);
        }
コード例 #22
0
        public static List <Domain.Socioboard.Models.Groupmembers> findmember(long SBgroupId, long userId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            try
            {
                List <Domain.Socioboard.Models.Groupmembers> inMemGroupMembers = _redisCache.Get <List <Domain.Socioboard.Models.Groupmembers> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupMembers + userId);
                if (inMemGroupMembers != null)
                {
                    return(inMemGroupMembers);
                }
            }
            catch { }
            List <Domain.Socioboard.Models.Groupmembers> groupMembers = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => t.userId == userId && t.groupid != SBgroupId).ToList();

            _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupMembers + userId, groupMembers);
            return(groupMembers);
        }
コード例 #23
0
        public static Domain.Socioboard.Models.Googleplusaccounts getGPlusAccount(string GPlusUserId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            try
            {
                Domain.Socioboard.Models.Googleplusaccounts inMemGplusAcc = _redisCache.Get <Domain.Socioboard.Models.Googleplusaccounts>(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusAccount + GPlusUserId);
                if (inMemGplusAcc != null)
                {
                    return(inMemGplusAcc);
                }
            }
            catch { }

            List <Domain.Socioboard.Models.Googleplusaccounts> lstGPlusAcc = dbr.Find <Domain.Socioboard.Models.Googleplusaccounts>(t => t.GpUserId.Equals(GPlusUserId) && t.IsActive).ToList();

            if (lstGPlusAcc != null && lstGPlusAcc.Count() > 0)
            {
                _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusAccount + GPlusUserId, lstGPlusAcc.First());
                return(lstGPlusAcc.First());
            }
            else
            {
                return(null);
            }
        }
コード例 #24
0
        public static List <Domain.Socioboard.Models.Groupmembers> getGroupadmin(long groupId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <Domain.Socioboard.Models.Groupmembers> adminDetails = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => t.groupid == groupId && t.isAdmin).ToList();
            long userID = adminDetails.First().userId;
            List <Domain.Socioboard.Models.User> user = dbr.Find <Domain.Socioboard.Models.User>(t => t.Id == userID).ToList();
            string Email = user.First().EmailId;

            adminDetails.First().email = Email;
            return(adminDetails);
        }
コード例 #25
0
        public static int AddGaSites(string profiledata, long userId, long groupId, Helper.Cache _redisCache, Helper.AppSettings _appSettings, Model.DatabaseRepository dbr, IHostingEnvironment _appEnv)
        {
            int       isSaved    = 0;
            Analytics _Analytics = new Analytics(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri);

            Domain.Socioboard.Models.GoogleAnalyticsAccount _GoogleAnalyticsAccount;
            string[] GAdata = Regex.Split(profiledata, "<:>");
            _GoogleAnalyticsAccount = Repositories.GplusRepository.getGAAccount(GAdata[5], _redisCache, dbr);

            if (_GoogleAnalyticsAccount != null && _GoogleAnalyticsAccount.IsActive == false)
            {
                try
                {
                    _GoogleAnalyticsAccount.UserId          = userId;
                    _GoogleAnalyticsAccount.IsActive        = true;
                    _GoogleAnalyticsAccount.EntryDate       = DateTime.UtcNow;
                    _GoogleAnalyticsAccount.EmailId         = GAdata[4];
                    _GoogleAnalyticsAccount.GaAccountId     = GAdata[2];
                    _GoogleAnalyticsAccount.GaAccountName   = GAdata[3];
                    _GoogleAnalyticsAccount.GaWebPropertyId = GAdata[7];
                    _GoogleAnalyticsAccount.GaProfileId     = GAdata[5];
                    _GoogleAnalyticsAccount.GaProfileName   = GAdata[6];
                    _GoogleAnalyticsAccount.AccessToken     = GAdata[0];
                    _GoogleAnalyticsAccount.RefreshToken    = GAdata[1];
                    _GoogleAnalyticsAccount.WebsiteUrl      = GAdata[8];
                    string visits    = string.Empty;
                    string pageviews = string.Empty;
                    try
                    {
                        string  analytics = _Analytics.getAnalyticsData(GAdata[5], "ga:visits,ga:pageviews", DateTime.UtcNow.AddDays(-7).ToString("yyyy-MM-dd"), DateTime.UtcNow.ToString("yyyy-MM-dd"), GAdata[0]);
                        JObject JData     = JObject.Parse(analytics);
                        visits    = JData["totalsForAllResults"]["ga:visits"].ToString();
                        pageviews = JData["totalsForAllResults"]["ga:pageviews"].ToString();
                    }
                    catch (Exception ex)
                    {
                        visits    = "0";
                        pageviews = "0";
                    }
                    _GoogleAnalyticsAccount.Views         = Double.Parse(pageviews);
                    _GoogleAnalyticsAccount.Visits        = Double.Parse(visits);
                    _GoogleAnalyticsAccount.ProfilePicUrl = "https://www.socioboard.com/Contents/Socioboard/images/analytics_img.png";
                    _GoogleAnalyticsAccount.EntryDate     = DateTime.UtcNow;
                }
                catch (Exception ex)
                {
                }
                dbr.Update <Domain.Socioboard.Models.GoogleAnalyticsAccount>(_GoogleAnalyticsAccount);
            }
            else
            {
                try
                {
                    _GoogleAnalyticsAccount                 = new Domain.Socioboard.Models.GoogleAnalyticsAccount();
                    _GoogleAnalyticsAccount.UserId          = userId;
                    _GoogleAnalyticsAccount.IsActive        = true;
                    _GoogleAnalyticsAccount.EntryDate       = DateTime.UtcNow;
                    _GoogleAnalyticsAccount.EmailId         = GAdata[4];
                    _GoogleAnalyticsAccount.GaAccountId     = GAdata[2];
                    _GoogleAnalyticsAccount.GaAccountName   = GAdata[3];
                    _GoogleAnalyticsAccount.GaWebPropertyId = GAdata[7];
                    _GoogleAnalyticsAccount.GaProfileId     = GAdata[5];
                    _GoogleAnalyticsAccount.GaProfileName   = GAdata[6];
                    _GoogleAnalyticsAccount.AccessToken     = GAdata[0];
                    _GoogleAnalyticsAccount.RefreshToken    = GAdata[1];
                    _GoogleAnalyticsAccount.WebsiteUrl      = GAdata[8];
                    string visits    = string.Empty;
                    string pageviews = string.Empty;
                    try
                    {
                        string  analytics = _Analytics.getAnalyticsData(GAdata[5], "ga:visits,ga:pageviews", DateTime.UtcNow.AddDays(-7).ToString("yyyy-MM-dd"), DateTime.UtcNow.ToString("yyyy-MM-dd"), GAdata[0]);
                        JObject JData     = JObject.Parse(analytics);
                        visits    = JData["totalsForAllResults"]["ga:visits"].ToString();
                        pageviews = JData["totalsForAllResults"]["ga:pageviews"].ToString();
                    }
                    catch (Exception ex)
                    {
                        visits    = "0";
                        pageviews = "0";
                    }
                    _GoogleAnalyticsAccount.Views         = Double.Parse(pageviews);
                    _GoogleAnalyticsAccount.Visits        = Double.Parse(visits);
                    _GoogleAnalyticsAccount.ProfilePicUrl = "https://www.socioboard.com/Themes/Socioboard/Contents/img/analytics_img.png";
                    _GoogleAnalyticsAccount.EntryDate     = DateTime.UtcNow;
                }
                catch (Exception ex)
                {
                }
                isSaved = dbr.Add <Domain.Socioboard.Models.GoogleAnalyticsAccount>(_GoogleAnalyticsAccount);
            }

            if (isSaved == 1)
            {
                List <Domain.Socioboard.Models.GoogleAnalyticsAccount> lstgaAcc = dbr.Find <Domain.Socioboard.Models.GoogleAnalyticsAccount>(t => t.GaProfileId.Equals(_GoogleAnalyticsAccount.GaProfileId)).ToList();
                if (lstgaAcc != null && lstgaAcc.Count() > 0)
                {
                    isSaved = GroupProfilesRepository.AddGroupProfile(groupId, lstgaAcc.First().GaProfileId, lstgaAcc.First().GaProfileName, userId, lstgaAcc.First().ProfilePicUrl, Domain.Socioboard.Enum.SocialProfileType.GoogleAnalytics, dbr);
                    //codes to delete cache
                    _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheUserProfileCount + userId);
                    _redisCache.Delete(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId);
                }
            }
            return(isSaved);
        }
コード例 #26
0
        public static List <Domain.Socioboard.Models.Groupmembers> adminDelete(long groupId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <Domain.Socioboard.Models.Groupmembers> adminDetails = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => t.groupid == groupId).ToList();

            foreach (Domain.Socioboard.Models.Groupmembers item in adminDetails)
            {
                Groupmembers user = item;
                dbr.Delete <Domain.Socioboard.Models.Groupmembers>(user);
            }
            List <Domain.Socioboard.Models.Groups> groupName = dbr.Find <Domain.Socioboard.Models.Groups>(t => t.id == groupId).ToList();

            foreach (Domain.Socioboard.Models.Groups item in groupName)
            {
                Groups group = item;
                dbr.Delete <Domain.Socioboard.Models.Groups>(group);
            }
            return(adminDetails);
        }
コード例 #27
0
        public static List <Domain.Socioboard.Models.Mongo.MongoGplusFeed> getgoogleplusActivity(string profileId, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            MongoRepository gplusFeedRepo = new MongoRepository("MongoGplusFeed", _appSettings);
            List <Domain.Socioboard.Models.Mongo.MongoGplusFeed> iMmemMongoGplusFeed = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.MongoGplusFeed> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusRecent100Feeds + profileId);

            if (iMmemMongoGplusFeed != null && iMmemMongoGplusFeed.Count > 0)
            {
                return(iMmemMongoGplusFeed);
            }
            else
            {
                var builder = Builders <MongoGplusFeed> .Sort;
                var sort    = builder.Descending(t => t.PublishedDate);
                var ret     = gplusFeedRepo.FindWithRange <Domain.Socioboard.Models.Mongo.MongoGplusFeed>(t => t.GpUserId.Equals(profileId), sort, 0, 100);
                var task    = Task.Run(async() => {
                    return(await ret);
                });
                IList <Domain.Socioboard.Models.Mongo.MongoGplusFeed> lstMongoGplusFeed = task.Result.ToList();
                if (lstMongoGplusFeed.Count > 0)
                {
                    _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGplusRecent100Feeds + profileId, lstMongoGplusFeed.ToList());
                }
                return(lstMongoGplusFeed.ToList());
            }
        }
コード例 #28
0
        public static List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> GetRssNewsPostedFeeds(string userId, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            string[] profileids = null;
            //MongoRepository _RssRepository = new MongoRepository("RssNewsContentsFeeds", _appSettings);
            List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> _RssRepository = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheTwitterRecent100Feeds + userId);

            if (_RssRepository != null)
            {
                return(_RssRepository);
            }
            else
            {
                MongoRepository mongorepo = new MongoRepository("RssNewsContentsFeeds", _appSettings);
                // MongoRepository mongorepo = new MongoRepository("MongoTwitterFeed", settings);
                var builder = Builders <RssNewsContentsFeeds> .Sort;
                var sort    = builder.Descending(t => t.PublishingDate);
                var result  = mongorepo.FindWithRange <RssNewsContentsFeeds>(t => t.UserId.Equals(userId), sort, 0, 200);
                var task    = Task.Run(async() =>
                {
                    return(await result);
                });
                IList <RssNewsContentsFeeds> lstRss = task.Result;

                if (lstRss != null)
                {
                    _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheTwitterRecent100Feeds + userId, lstRss.ToList());

                    return(lstRss.ToList());
                }

                return(null);
            }

            // List<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds> lstRss = new List<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds>();
            //List<Domain.Socioboard.Models.Groupprofiles> lstGroupprofiles = dbr.Find<Domain.Socioboard.Models.Groupprofiles>(t => t.profileOwnerId == userId).ToList();
            //profileids = lstGroupprofiles.Select(t => t.profileId).ToArray();
            //var ret = _RssRepository.Find<Domain.Socioboard.Models.Mongo.RssNewsContentsFeeds>(t => t.UserId == userId);//UserId
            //var task = Task.Run(async () =>
            //{
            //    return await ret;
            //});
            // return lstRss = task.Result.ToList();
        }
コード例 #29
0
        public static Domain.Socioboard.Models.YoutubeChannel getYTChannel(string YtChannelId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            try
            {
                Domain.Socioboard.Models.YoutubeChannel inMemYTChannel = _redisCache.Get <Domain.Socioboard.Models.YoutubeChannel>(Domain.Socioboard.Consatants.SocioboardConsts.CacheYTChannel + YtChannelId);
                if (inMemYTChannel != null)
                {
                    return(inMemYTChannel);
                }
            }
            catch { }

            List <Domain.Socioboard.Models.YoutubeChannel> lstYTChannel = dbr.Find <Domain.Socioboard.Models.YoutubeChannel>(t => t.YtubeChannelId.Equals(YtChannelId)).ToList();

            if (lstYTChannel != null && lstYTChannel.Count() > 0)
            {
                _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheYTChannel + YtChannelId, lstYTChannel.First());
                return(lstYTChannel.First());
            }
            else
            {
                return(null);
            }
        }
コード例 #30
0
        public static List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> GetFbpageDetails(string[] lstfbpageid, Model.DatabaseRepository dbr, Helper.Cache _redisCache, Helper.AppSettings _appSettings)
        {
            List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> inMemFacaebookPageDailyReports = _redisCache.Get <List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + lstfbpageid);

            if (inMemFacaebookPageDailyReports != null)
            {
                return(inMemFacaebookPageDailyReports);
            }
            else
            {
                List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> fbpdailyrep     = new List <FacaebookPageDailyReports>();
                Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports        fbdailyrepodata = new FacaebookPageDailyReports();
                MongoRepository mongorepo = new MongoRepository("FacaebookPageDailyReports", _appSettings);

                DateTime dayStart = new DateTime(DateTime.UtcNow.AddDays(-90).Year, DateTime.UtcNow.AddDays(-90).Month, DateTime.UtcNow.AddDays(-90).Day, 0, 0, 0, DateTimeKind.Utc);
                DateTime dayEnd   = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 23, 59, 59, DateTimeKind.Utc);

                var ret  = mongorepo.Find <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports>(t => lstfbpageid.Contains(t.pageId) && t.date <= Helper.DateExtension.ConvertToUnixTimestamp(dayEnd) && t.date >= Helper.DateExtension.ConvertToUnixTimestamp(dayStart));
                var task = Task.Run(async() =>
                {
                    return(await ret);
                });
                if (task.Result != null)
                {
                    List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports> lstfbpagedet = task.Result.ToList();
                    if (lstfbpagedet.Count > 0)
                    {
                        _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheInstagramDailyReport + lstfbpageid, lstfbpagedet.ToList());
                    }
                    return(lstfbpagedet.OrderBy(t => t.date).ToList());
                }
                return(new List <Domain.Socioboard.Models.Mongo.FacaebookPageDailyReports>());
            }
        }