예제 #1
0
        public int FacebookFans(string userid, string profileid, string days)
        {
            int counts     = 0;
            int count      = 0;
            int Totalcount = 0;

            Domain.Socioboard.Domain.FacebookFanPage lstFacebookFanPage  = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage lstFacebookFancount = new Domain.Socioboard.Domain.FacebookFanPage();
            try
            {
                string[] arr = profileid.Split(',');
                foreach (var item in arr)
                {
                    counts += objrepo.getAllFancountDetail(Guid.Parse(userid), item, Convert.ToInt32(days));
                    count  += objrepo.getAllFancountDetailbeforedays(Guid.Parse(userid), item, Convert.ToInt32(days));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            Totalcount = Math.Abs(counts - count);
            return(Totalcount);
        }
       public int FacebookFans(string userid, string profileid, string days)
       {
           int counts = 0;
           int count = 0;
           int Totalcount = 0;
           Domain.Socioboard.Domain.FacebookFanPage lstFacebookFanPage = new Domain.Socioboard.Domain.FacebookFanPage();
           Domain.Socioboard.Domain.FacebookFanPage lstFacebookFancount = new Domain.Socioboard.Domain.FacebookFanPage();
           try
           {
               string[] arr = profileid.Split(',');
               foreach (var item in arr)
               {
                   counts += objrepo.getAllFancountDetail(Guid.Parse(userid), item, Convert.ToInt32(days));
                   count += objrepo.getAllFancountDetailbeforedays(Guid.Parse(userid), item, Convert.ToInt32(days));
               }                     
           }             
           catch (Exception ex)
           {
               Console.WriteLine(ex.StackTrace);
           }
           Totalcount = Math.Abs(counts - count);
           return Totalcount;
 
       }
예제 #3
0
        public string getfbfans(string groupid, string userid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            
            int i = 0;
            long[] arr_perday = new long[90];
            DateTime present_date = DateTime.Now;
            string perday_15 = string.Empty;
            string perday_30 = string.Empty;
            string perday_60 = string.Empty;
            string perday_90 = string.Empty;
            string AllProfileId = string.Empty;
            string AllProfileIds = string.Empty;

            string FbProfileId = string.Empty;
            string FbProfileIds = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;
            List<Domain.Socioboard.Domain.FacebookFanPage> fbfan_15;
            List<Domain.Socioboard.Domain.FacebookFanPage> fbfan_30;
            List<Domain.Socioboard.Domain.FacebookFanPage> fbfan_60;
            List<Domain.Socioboard.Domain.FacebookFanPage> fbfan_90;
            Domain.Socioboard.Domain.FacebookFanPage _15_first = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _30_first = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _60_first = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _90_first = new Domain.Socioboard.Domain.FacebookFanPage();

            Domain.Socioboard.Domain.FacebookFanPage _15_last = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _30_last = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _60_last = new Domain.Socioboard.Domain.FacebookFanPage();
            Domain.Socioboard.Domain.FacebookFanPage _90_last = new Domain.Socioboard.Domain.FacebookFanPage();
            long perdayalldata = 0;


            try
            {
                using (NHibernate.ISession session1 = SessionFactory.GetNewSession())
                {
                    teams = session1.CreateQuery("from Team t where t.GroupId = : groupid and t.UserId = : userid ").SetParameter("groupid", Guid.Parse(groupid)).SetParameter("userid", Guid.Parse(userid)).List<Domain.Socioboard.Domain.Team>().ToList();
                }
                foreach (Domain.Socioboard.Domain.Team team in teams)
                {
                    using (NHibernate.ISession session2 = SessionFactory.GetNewSession())
                    {

                        teammemberprofiles = session2.CreateQuery("from TeamMemberProfile t where t.TeamId = : teamid and t.ProfileType = : ProfileType").SetParameter("teamid", team.Id).SetParameter("ProfileType", "facebook_page").List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                    }
                    foreach (Domain.Socioboard.Domain.TeamMemberProfile teammemberprofile in teammemberprofiles)
                    {

                        try
                        {
                            FbProfileId += teammemberprofile.ProfileId + ',';
                            FbProfileIds += "'" + teammemberprofile.ProfileId + "',";

                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }
                    }

                    try
                    {
                        AllProfileId = FbProfileId.Substring(0, FbProfileId.Length - 1);
                        AllProfileIds = FbProfileIds.Substring(0, FbProfileIds.Length - 1);

                        ArrProfileId = AllProfileId.Split(',');
                    }
                    catch (Exception Err)
                    {
                        Console.Write(Err.StackTrace);
                    }

                    if (!string.IsNullOrEmpty(AllProfileId))
                    {
                        string strfbfan = "from FacebookFanPage t where t.UserId =: UserId and t.ProfilePageId In(" + AllProfileIds + ")";

                        using (NHibernate.ISession session3 = SessionFactory.GetNewSession())
                        {

                            try
                            {

                                fbfan_90 = session3.CreateQuery(strfbfan)
                                                                      .SetParameter("UserId", Guid.Parse(userid))
                                                                       .List<Domain.Socioboard.Domain.FacebookFanPage>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-90))).OrderByDescending(y => y.EntryDate).ToList();

                            }
                            catch (Exception)
                            {

                                fbfan_90 = new List<Domain.Socioboard.Domain.FacebookFanPage>();
                            }

                            try
                            {
                                fbfan_15 = fbfan_90.Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-15))).OrderByDescending(y => y.EntryDate).ToList();

                            }
                            catch (Exception)
                            {
                                fbfan_15 = new List<Domain.Socioboard.Domain.FacebookFanPage>();
                            }


                            try
                            {
                                fbfan_30 = fbfan_90.Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-30))).OrderByDescending(y => y.EntryDate).ToList();
                            }
                            catch (Exception)
                            {
                                fbfan_30 = new List<Domain.Socioboard.Domain.FacebookFanPage>();
                            }

                            try
                            {
                                fbfan_60 = fbfan_90.Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-60))).OrderByDescending(y => y.EntryDate).ToList();
                            }
                            catch (Exception)
                            {
                                fbfan_60 = new List<Domain.Socioboard.Domain.FacebookFanPage>();
                            }
                        }

                        present_date = DateTime.Now;

                        while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                        {
                            perdayalldata = 0;
                            foreach (string profileid in ArrProfileId)
                            {
                                try
                                {
                                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                                    {
                                        List<Domain.Socioboard.Domain.FacebookFanPage> lstresult = fbfan_90.Where(t => t.EntryDate >= present_date.Date.AddSeconds(1) && t.EntryDate <= present_date.Date.AddDays(1).AddSeconds(-1)).OrderByDescending(t => t.EntryDate).ToList();

                                        if (lstresult.Count > 0)
                                        {
                                            Domain.Socioboard.Domain.FacebookFanPage _result = lstresult.First();
                                            Domain.Socioboard.Domain.FacebookFanPage _result1 = lstresult.Last();

                                            long add_data = long.Parse(_result.FanpageCount);

                                            long add_data1 = long.Parse(_result1.FanpageCount);

                                            long newfollowerdata = add_data - add_data1;

                                            perdayalldata += newfollowerdata;
                                        }
                                        else
                                        {
                                            perdayalldata += 0;
                                        }

                                    }
                                }

                                catch (Exception e)
                                {
                                    logger.Error("perdayfberror >>" + e);
                                    Console.Write(e.StackTrace);
                                }
                            }
                            arr_perday[i] = perdayalldata;
                            i++;

                            logger.Error("perdayfb>>" + perday_90);
                            present_date = present_date.AddDays(-1);
                        }
                        for (i = 0; i < 90; i++)
                        {
                            perday_90 = perday_90 + arr_perday[i].ToString() + ",";
                        }
                        try
                        {
                            string[] arr = perday_90.Split(',');
                            for (i = 0; i < 15; i++)
                            {
                                perday_15 = perday_15 + arr[i] + ",";
                            }
                            for (i = 0; i < 30; i++)
                            {
                                perday_30 = perday_30 + arr[i] + ",";
                            }
                            for (i = 0; i < 60; i++)
                            {
                                perday_60 = perday_60 + arr[i] + ",";
                            }
                        }
                        catch (Exception)
                        {


                        }
                        if (fbfan_15.Count > 0)
                        {
                            _15_first = fbfan_15.First();
                            _15_last = fbfan_15.Last();
                            r._15 = long.Parse(_15_first.FanpageCount) - long.Parse(_15_last.FanpageCount);
                        }
                        else
                        {
                            r._15 = 0;
                        }

                        if (fbfan_30.Count > 0)
                        {
                            _30_first = fbfan_30.First();
                            _30_last = fbfan_30.Last();
                            r._30 = long.Parse(_30_first.FanpageCount) - long.Parse(_30_last.FanpageCount);
                        }
                        else
                        {
                            r._30 = 0;
                        }

                        if (fbfan_60.Count > 0)
                        {
                            _60_first = fbfan_60.First();
                            _60_last = fbfan_60.Last();
                            r._60 = long.Parse(_60_first.FanpageCount) - long.Parse(_60_last.FanpageCount);
                        }
                        else
                        {
                            r._60 = 0;
                        }

                        if (fbfan_90.Count > 0)
                        {
                            _90_first = fbfan_90.First();
                            _90_last = fbfan_90.Last();
                            r._90 = long.Parse(_90_first.FanpageCount) - long.Parse(_90_last.FanpageCount);
                        }
                        else
                        {
                            r._90 = 0;
                        }

                        r.perday_15 = perday_15;
                        r.perday_30 = perday_30;
                        r.perday_60 = perday_60;
                        r.perday_90 = perday_90;
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
                logger.Error(e.StackTrace);
            }
            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;
        }