示例#1
0
        public void getStories(string pageId, Guid UserId, int days)
        {
            try
            {
                string                    strStories = "https://graph.facebook.com/" + pageId + "/insights/post_stories";
                FacebookClient            fb         = new FacebookClient();
                FacebookAccountRepository fbAccRepo  = new FacebookAccountRepository();
                FacebookAccount           acc        = fbAccRepo.getUserDetails(pageId);
                fb.AccessToken = acc.AccessToken;


                JsonObject                     outputreg  = (JsonObject)fb.Get(strStories);
                JArray                         data       = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());
                FacebookInsightStats           objFbi     = new FacebookInsightStats();
                FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
                foreach (var item in data)
                {
                    var values = item["values"];
                    foreach (var age in values)
                    {
                        objFbi.EntryDate    = DateTime.Now;
                        objFbi.FbUserId     = pageId;
                        objFbi.Id           = Guid.NewGuid();
                        objFbi.StoriesCount = int.Parse(age["value"].ToString());
                        objFbi.UserId       = UserId;
                        objFbi.CountDate    = age["end_time"].ToString();
                        objfbiRepo.addFacebookInsightStats(objFbi);
                    }
                }
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
        }
示例#2
0
        public void getFanPageLikesByGenderAge(string pageId, Guid UserId, int days)
        {
            try
            {
                string                    strAge    = "https://graph.facebook.com/" + pageId + "/insights/page_fans_gender_age";
                FacebookClient            fb        = new FacebookClient();
                FacebookAccountRepository fbAccRepo = new FacebookAccountRepository();
                FacebookAccount           acc       = fbAccRepo.getUserDetails(pageId);
                fb.AccessToken = acc.AccessToken;
                ///////////////////////////////////////////////////
                // string codedataurlgraphic = objAuthentication.RequestUrl(strAge, strToken);
                //if (txtDateSince.Text != "")
                //    strAge = strAge + "&since=" + txtDateSince.Text;
                //if (txtDateUntill.Text != "")
                //    strAge = strAge + "&until=" + txtDateUntill.Text;

                JsonObject                     outputreg  = (JsonObject)fb.Get(strAge);
                JArray                         data       = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());
                FacebookInsightStats           objFbi     = new FacebookInsightStats();
                FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
                foreach (var item in data)
                {
                    var values = item["values"];
                    foreach (var age in values)
                    {
                        var ageVal      = age["value"];
                        var agevalarray = ageVal.ToString().Substring(1, ageVal.ToString().Length - 2).Split(',');
                        for (int i = 0; i < agevalarray.Count(); i++)
                        {
                            var genderagearray = agevalarray[i].Split(':');
                            var gender         = genderagearray[0].Split('.');
                            objFbi.AgeDiff     = gender[1].Trim();
                            objFbi.Gender      = gender[0].Trim();
                            objFbi.EntryDate   = DateTime.Now;
                            objFbi.FbUserId    = pageId;
                            objFbi.Id          = Guid.NewGuid();
                            objFbi.PeopleCount = int.Parse(genderagearray[1]);
                            objFbi.UserId      = UserId;
                            objFbi.CountDate   = age["end_time"].ToString();
                            if (!objfbiRepo.checkFacebookInsightStatsExists(pageId, UserId, age["end_time"].ToString(), gender[1].Trim()))
                            {
                                objfbiRepo.addFacebookInsightStats(objFbi);
                            }
                            else
                            {
                                objfbiRepo.updateFacebookInsightStats(objFbi);
                            }
                        }
                        // strFbAgeArray=strFbAgeArray+
                    }
                }
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
        }
示例#3
0
        public string getStoriesCount(string fbUserId, int days)
        {
            string strStoriescount = string.Empty;
            string strStories      = string.Empty;
            string strDate         = string.Empty;

            try
            {
                FacebookInsightStatsRepository objfbiRepo1 = new FacebookInsightStatsRepository();
                ArrayList arrList = objfbiRepo1.getFacebookInsightStatsById(fbUserId, days);


                //foreach (var item in arrList)
                //{
                //    Array temp = (Array)item;
                //    if (temp.GetValue(7) != null)
                //    {
                //        strDate = strDate + temp.GetValue(10) + ",";
                //        strStories = strStories + temp.GetValue(7) + ",";
                //    }
                //}
                //if (arrList.Count < 7)
                //{
                //    for (int i = 0; i < 7 - arrList.Count; i++)
                //    {
                //        strStories = strStories + "0,";
                //        strDate = strDate + " ,";
                //    }
                //}

                for (int i = 0; i < 10; i++)
                {
                    strDate    += RandomDay() + ",";
                    strStories += getrandomno() + ",";
                    System.Threading.Thread.Sleep(10);
                }
                strStoriescount = strDate.Substring(0, strDate.Length - 1) + "@" + strStories.Substring(0, strStories.Length - 1);



                //strStoriescount = strDate.Substring(0, strDate.Length - 1) + "@" + strStories.Substring(0, strStories.Length - 1);
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
            return(strStoriescount);
        }
示例#4
0
 public void getLocation(string pageId, Guid UserId, int days)
 {
     try
     {
         string                    strStories = "https://graph.facebook.com/" + pageId + "/insights/page_fans_country";
         FacebookClient            fb         = new FacebookClient();
         FacebookAccountRepository fbAccRepo  = new FacebookAccountRepository();
         FacebookAccount           acc        = fbAccRepo.getUserDetails(pageId);
         fb.AccessToken = acc.AccessToken;
         JsonObject                     outputreg  = (JsonObject)fb.Get(strStories);
         JArray                         data       = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());
         FacebookInsightStats           objFbi     = new FacebookInsightStats();
         FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
         foreach (var item in data)
         {
             var values = item["values"];
             foreach (var loc in values)
             {
                 var locVal      = loc["value"];
                 var locvalarray = locVal.ToString().Substring(1, locVal.ToString().Length - 2).Split(',');
                 for (int i = 0; i < locvalarray.Count(); i++)
                 {
                     var locationarr = locvalarray[i].Split(':');
                     objFbi.EntryDate   = DateTime.Now;
                     objFbi.FbUserId    = pageId;
                     objFbi.Id          = Guid.NewGuid();
                     objFbi.Location    = locationarr[0].ToString();
                     objFbi.PeopleCount = int.Parse(locationarr[1].ToString());
                     objFbi.UserId      = UserId;
                     objFbi.CountDate   = loc["end_time"].ToString();
                     if (!objfbiRepo.checkFbILocationStatsExists(pageId, UserId, loc["end_time"].ToString(), locationarr[0].ToString()))
                     {
                         objfbiRepo.addFacebookInsightStats(objFbi);
                     }
                     else
                     {
                         objfbiRepo.updateFacebookInsightStats(objFbi);
                     }
                 }
             }
         }
     }
     catch (Exception Err)
     {
         Console.Write(Err.StackTrace);
     }
 }
示例#5
0
        public string getLikesByGenderAge(string fbUserId, int days)
        {
            string strFbAgeArray = string.Empty;

            try
            {
                string strAgem = "0,";
                string strAgef = "0,";
                FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
                ArrayList arrList = objfbiRepo.getFacebookInsightStatsAgeWiseById(fbUserId, days);
                strFbAgeArray = "[";
                foreach (var item in arrList)
                {
                    Array temp = (Array)item;
                    if (temp.GetValue(3) != null)
                    {
                        string strmVal = "0", strfVal = "0";
                        if (temp.GetValue(3).ToString().Contains("M"))
                        {
                            strmVal = temp.GetValue(6).ToString();
                            strfVal = "0";
                        }
                        if (temp.GetValue(3).ToString().Contains("F"))
                        {
                            strfVal = temp.GetValue(6).ToString();
                            strmVal = "0";
                        }
                        strFbAgeArray = strFbAgeArray + "[" + strmVal + "," + strfVal + "],";
                    }
                }
                if (arrList.Count < days)
                {
                    for (int i = 0; i < days - arrList.Count; i++)
                    {
                        strFbAgeArray = strFbAgeArray + "[0,0],";
                    }
                }
                strFbAgeArray = strFbAgeArray.Substring(0, strFbAgeArray.Length - 1) + "]";
                // strFbAgeArray = strAgem.Substring(0, strAgem.Length - 1) + "@" + strAgef.Substring(0, strAgef.Length - 1);
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
            return(strFbAgeArray);
        }
示例#6
0
        public string getLocationInsight(string fbUserId, int days)
        {
            string strLocationArray = string.Empty;

            try
            {
                string strlocation  = string.Empty;
                string strcount     = string.Empty;
                string previousDate = string.Empty;
                FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();

                ArrayList arrList = objfbiRepo.getFacebookInsightStatsLocationById(fbUserId, days);
                foreach (var item in arrList)
                {
                    Array temp = (Array)item;

                    if (temp.GetValue(5) != null && temp.GetValue(6) != null)
                    {
                        strlocation = strlocation + temp.GetValue(5).ToString().Replace("\r\n  \"", " ").Replace('"', ' ').Trim() + ",";
                        strcount    = strcount + temp.GetValue(6) + ",";
                    }
                }
                if (arrList.Count == 0)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        strlocation += "0,";
                        strcount    += "0,";
                    }
                }
                strLocationArray = strlocation.Substring(0, strlocation.Length - 1) + "@" + strcount.Substring(0, strcount.Length - 1);
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
            return(strLocationArray);
        }
示例#7
0
        //public void getPageImpresion(string pageId, Guid UserId, int days)
        //{
        //    try
        //    {
        //        string strAge = "https://graph.facebook.com/" + pageId + "/insights/page_impressions/day";
        //        FacebookClient fb = new FacebookClient();
        //        FacebookAccountRepository fbAccRepo = new FacebookAccountRepository();
        //        FacebookAccount acc = fbAccRepo.getUserDetails(pageId);
        //        fb.AccessToken = acc.AccessToken;
        //        JsonObject outputreg = (JsonObject)fb.Get(strAge);
        //        JArray data = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());

        //        FacebookInsightStats objFbi = new FacebookInsightStats();
        //        FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
        //        foreach (var item in data)
        //        {
        //            var values = item["values"];
        //            foreach (var age in values)
        //            {
        //                objFbi.EntryDate = DateTime.Now;
        //                objFbi.FbUserId = pageId;
        //                objFbi.Id = Guid.NewGuid();
        //                objFbi.PageImpressionCount = int.Parse(age["value"].ToString());
        //                objFbi.UserId = UserId;
        //                objFbi.CountDate = age["end_time"].ToString();
        //                if (!objfbiRepo.checkFbIPageImprStatsExists(pageId, UserId, age["end_time"].ToString()))
        //                    objfbiRepo.addFacebookInsightStats(objFbi);
        //                else
        //                    objfbiRepo.updateFacebookInsightStats(objFbi);
        //            }
        //        }
        //    }
        //    catch (Exception Err)
        //    {
        //        Console.Write(Err.StackTrace);
        //    }
        //}


        public void getPageImpresion(string pageId, Guid UserId, int days)
        {
            JsonObject outputreg = new JsonObject();

            try
            {
                int    count    = 0;
                string nextpage = string.Empty;
                string prevpage = string.Empty;
                string strAge   = string.Empty;
                if (count == 0)
                {
                    strAge = "https://graph.facebook.com/" + pageId + "/insights/page_impressions/day";
                }
                else
                {
                    strAge = prevpage;
                }
                FacebookClient            fb        = new FacebookClient();
                FacebookAccountRepository fbAccRepo = new FacebookAccountRepository();

                for (int i = 0; i < 11; i++)
                {
                    if (count > 0)
                    {
                        strAge = prevpage;
                    }

                    FacebookAccount acc = fbAccRepo.getUserDetails(pageId);
                    fb.AccessToken = acc.AccessToken;
                    outputreg      = (JsonObject)fb.Get(strAge);
                    JArray data = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());
                    //code written by abhay
                    JObject data1 = (JObject)JsonConvert.DeserializeObject(outputreg["paging"].ToString());
                    if (count == 0)
                    {
                        prevpage = data1["previous"].ToString();
                        nextpage = data1["next"].ToString();
                        //End of block
                        FacebookInsightStats           objFbi     = new FacebookInsightStats();
                        FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
                        foreach (var item in data)
                        {
                            var values = item["values"];
                            foreach (var age in values)
                            {
                                //objFbi.EntryDate = DateTime.Now;
                                objFbi.EntryDate           = Convert.ToDateTime(age["end_time"].ToString());
                                objFbi.FbUserId            = pageId;
                                objFbi.Id                  = Guid.NewGuid();
                                objFbi.PageImpressionCount = int.Parse(age["value"].ToString());
                                objFbi.UserId              = UserId;
                                objFbi.CountDate           = age["end_time"].ToString();
                                if (!objfbiRepo.checkFbIPageImprStatsExists(pageId, UserId, age["end_time"].ToString()))
                                {
                                    objfbiRepo.addFacebookInsightStats(objFbi);
                                }
                                else
                                {
                                    objfbiRepo.updateFacebookInsightStats(objFbi);
                                }
                            }
                        }
                        count++;
                    }


                    else
                    {
                        count++;
                        prevpage = data1["previous"].ToString();
                        // nextpage = data1["next"].ToString();
                        //End of block
                        FacebookInsightStats           objFbi     = new FacebookInsightStats();
                        FacebookInsightStatsRepository objfbiRepo = new FacebookInsightStatsRepository();
                        foreach (var item in data)
                        {
                            var values = item["values"];
                            foreach (var age in values)
                            {
                                //objFbi.EntryDate = DateTime.Now;
                                objFbi.EntryDate           = Convert.ToDateTime(age["end_time"].ToString());
                                objFbi.FbUserId            = pageId;
                                objFbi.Id                  = Guid.NewGuid();
                                objFbi.PageImpressionCount = int.Parse(age["value"].ToString());
                                objFbi.UserId              = UserId;
                                objFbi.CountDate           = age["end_time"].ToString();
                                if (!objfbiRepo.checkFbIPageImprStatsExists(pageId, UserId, age["end_time"].ToString()))
                                {
                                    objfbiRepo.addFacebookInsightStats(objFbi);
                                }
                                else
                                {
                                    objfbiRepo.updateFacebookInsightStats(objFbi);
                                }
                            }
                        }
                    }
                }
                outputreg = (JsonObject)fb.Get(nextpage);
                JArray  newdata  = (JArray)JsonConvert.DeserializeObject(outputreg["data"].ToString());
                JObject newdata1 = (JObject)JsonConvert.DeserializeObject(outputreg["paging"].ToString());
                FacebookInsightStats           objFbi1     = new FacebookInsightStats();
                FacebookInsightStatsRepository objfbiRepo1 = new FacebookInsightStatsRepository();
                foreach (var item in newdata)
                {
                    var values = item["values"];
                    foreach (var age in values)
                    {
                        //objFbi1.EntryDate = DateTime.Now;
                        objFbi1.EntryDate           = Convert.ToDateTime(age["end_time"].ToString());
                        objFbi1.FbUserId            = pageId;
                        objFbi1.Id                  = Guid.NewGuid();
                        objFbi1.PageImpressionCount = int.Parse(age["value"].ToString());
                        objFbi1.UserId              = UserId;
                        objFbi1.CountDate           = age["end_time"].ToString();
                        if (Convert.ToDateTime(age["end_time"].ToString()) > DateTime.Now)
                        {
                            break;
                        }
                        if (!objfbiRepo1.checkFbIPageImprStatsExists(pageId, UserId, age["end_time"].ToString()))
                        {
                            objfbiRepo1.addFacebookInsightStats(objFbi1);
                        }
                        else
                        {
                            objfbiRepo1.updateFacebookInsightStats(objFbi1);
                        }
                    }
                }
            }
            catch (Exception Err)
            {
                Console.Write(Err.StackTrace);
            }
        }
示例#8
0
        public string DeleteAllUsersByCreateDate(string date)
        {
            int                                i                                     = 0;
            int                                count                                 = 0;
            UserRepository                     objUserRepository                     = new UserRepository();
            List <User>                        lstuser                               = objUserRepository.GetAllUsersByCreateDate(date);
            ArchiveMessageRepository           objArchiveMessageRepository           = new ArchiveMessageRepository();
            DiscoverySearchRepository          objDiscoverySearchRepository          = new DiscoverySearchRepository();
            DraftsRepository                   objDraftsRepository                   = new DraftsRepository();
            FacebookAccountRepository          objFacebookAccountRepository          = new FacebookAccountRepository();
            FacebookFeedRepository             objFacebookFeedRepository             = new FacebookFeedRepository();
            FacebookInsightPostStatsRepository objFacebookInsightPostStatsRepository = new FacebookInsightPostStatsRepository();
            FacebookInsightStatsRepository     objFacebookInsightStatsRepository     = new FacebookInsightStatsRepository();
            FacebookMessageRepository          objFacebookMessageRepository          = new FacebookMessageRepository();
            FacebookStatsRepository            objFacebookStatsRepository            = new FacebookStatsRepository();
            GoogleAnalyticsAccountRepository   objGoogleAnalyticsAccountRepository   = new GoogleAnalyticsAccountRepository();
            GoogleAnalyticsStatsRepository     objGoogleAnalyticsStatsRepository     = new GoogleAnalyticsStatsRepository();
            GooglePlusAccountRepository        objGooglePlusAccountRepository        = new GooglePlusAccountRepository();
            GooglePlusActivitiesRepository     objGooglePlusActivitiesRepository     = new GooglePlusActivitiesRepository();
            GroupProfileRepository             objGroupProfileRepository             = new GroupProfileRepository();
            GroupRepository                    objGroupRepository                    = new GroupRepository();
            InstagramAccountRepository         objInstagramAccountRepository         = new InstagramAccountRepository();
            InstagramCommentRepository         objInstagramCommentRepository         = new InstagramCommentRepository();
            InstagramFeedRepository            objInstagramFeedRepository            = new InstagramFeedRepository();
            LinkedInAccountRepository          objLinkedInAccountRepository          = new LinkedInAccountRepository();
            LinkedInFeedRepository             objLinkedInFeedRepository             = new LinkedInFeedRepository();
            LogRepository                      objLogRepository                      = new LogRepository();
            RssFeedsRepository                 objRssFeedsRepository                 = new RssFeedsRepository();
            RssReaderRepository                objRssReaderRepository                = new RssReaderRepository();
            ScheduledMessageRepository         objScheduledMessageRepository         = new ScheduledMessageRepository();
            SocialProfilesRepository           objSocialProfilesRepository           = new SocialProfilesRepository();
            TaskCommentRepository              objTaskCommentRepository              = new TaskCommentRepository();
            TaskRepository                     objTaskRepository                     = new TaskRepository();
            TeamRepository                     objTeamRepository                     = new TeamRepository();
            TeamMemberProfileRepository        objTeamMemberProfileRepository        = new TeamMemberProfileRepository();
            TwitterAccountRepository           objTwitterAccountRepository           = new TwitterAccountRepository();
            TwitterDirectMessageRepository     objTwitterDirectMessageRepository     = new TwitterDirectMessageRepository();
            TwitterFeedRepository              objTwitterFeedRepository              = new TwitterFeedRepository();
            TwitterMessageRepository           objTwitterMessageRepository           = new TwitterMessageRepository();
            TwitterStatsRepository             objTwitterStatsRepository             = new TwitterStatsRepository();
            UserActivationRepository           objUserActivationRepository           = new UserActivationRepository();
            UserPackageRelationRepository      objUserPackageRelationRepository      = new UserPackageRelationRepository();



            count = lstuser.Count();


            foreach (var item in lstuser)
            {
                i++;
                try
                {
                    if (item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**" || item.EmailId == "*****@*****.**")
                    {
                    }
                    else
                    {
                        objArchiveMessageRepository.DeleteArchiveMessageByUserid(item.Id);
                        objDiscoverySearchRepository.DeleteDiscoverySearchByUserid(item.Id);
                        objDraftsRepository.DeleteDraftsByUserid(item.Id);
                        objFacebookAccountRepository.DeleteFacebookAccountByUserid(item.Id);
                        objFacebookFeedRepository.DeleteFacebookFeedByUserid(item.Id);
                        objFacebookInsightPostStatsRepository.DeleteFacebookInsightPostStatsByUserid(item.Id);
                        objFacebookInsightStatsRepository.DeleteFacebookInsightStatsByUserid(item.Id);
                        objFacebookMessageRepository.DeleteFacebookMessageByUserid(item.Id);
                        objFacebookStatsRepository.DeleteFacebookStatsByUserid(item.Id);
                        objGoogleAnalyticsAccountRepository.DeleteGoogleAnalyticsAccountByUserid(item.Id);
                        objGoogleAnalyticsStatsRepository.DeleteGoogleAnalyticsStatsByUserid(item.Id);
                        objGooglePlusAccountRepository.DeleteGooglePlusAccountByUserid(item.Id);
                        objGooglePlusActivitiesRepository.DeleteGooglePlusActivitiesByUserid(item.Id);
                        objGroupProfileRepository.DeleteGroupProfileByUserid(item.Id);
                        objGroupRepository.DeleteGroupsByUserid(item.Id);
                        objInstagramAccountRepository.DeleteInstagramAccountByUserid(item.Id);
                        objInstagramCommentRepository.DeleteInstagramCommentByUserid(item.Id);
                        objInstagramFeedRepository.DeleteInstagramFeedByUserid(item.Id);
                        objLinkedInAccountRepository.DeleteLinkedInAccountByUserid(item.Id);
                        objLinkedInFeedRepository.DeleteLinkedInFeedByUserid(item.Id);
                        objLogRepository.DeleteLogByUserid(item.Id);
                        objRssFeedsRepository.DeleteRssFeedsByUserid(item.Id);
                        objRssReaderRepository.DeleteRssReaderByUserid(item.Id);
                        objScheduledMessageRepository.DeleteScheduledMessageByUserid(item.Id);
                        objSocialProfilesRepository.DeleteSocialProfileByUserid(item.Id);
                        objTaskCommentRepository.DeleteTaskCommentByUserid(item.Id);
                        objTaskRepository.DeleteTasksByUserid(item.Id);
                        objTeamRepository.DeleteTeamByUserid(item.Id);
                        objTeamMemberProfileRepository.DeleteTeamMemberProfileByUserid(item.Id);
                        objTwitterAccountRepository.DeleteTwitterAccountByUserid(item.Id);
                        objTwitterDirectMessageRepository.DeleteTwitterDirectMessagesByUserid(item.Id);
                        objTwitterFeedRepository.DeleteTwitterFeedByUserid(item.Id);
                        objTwitterMessageRepository.DeleteTwitterMessageByUserid(item.Id);
                        objTwitterStatsRepository.DeleteTwitterStatsByUserid(item.Id);
                        objUserActivationRepository.DeleteUserActivationByUserid(item.Id);
                        objUserPackageRelationRepository.DeleteuserPackageRelationByUserid(item.Id);
                        objUserRepository.DeleteUserByUserid(item.Id);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            return(i + " " + count);
        }