public string gettwitterfollowers(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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] perdayalldatas = { };

            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;

            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_15 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_30 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_60 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_90 = new List<Domain.Socioboard.Domain.InboxMessages>();

            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                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", "twitter").List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                        }

                        foreach (Domain.Socioboard.Domain.TeamMemberProfile teammemberprofile in teammemberprofiles)
                        {
                            try
                            {
                                TwtProfileId += teammemberprofile.ProfileId + ',';
                            }
                            catch (Exception Err)
                            {
                                Console.Write(Err.StackTrace);
                            }
                        }
                        try
                        {
                            AllProfileId = TwtProfileId.Substring(0, TwtProfileId.Length - 1);
                            ArrProfileId = AllProfileId.Split(',');
                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }

                        if (!string.IsNullOrEmpty(AllProfileId))
                        {

                            InboxMessages_90 = session.Query<Domain.Socioboard.Domain.InboxMessages>().Where(U => U.Status == 0 && U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-90).Date.AddSeconds(1)) && ArrProfileId.Contains(U.ProfileId) && U.MessageType == "twt_followers").GroupBy(x => new { x.ProfileId,x.FromId}).Select(g=>g.First()).ToList<Domain.Socioboard.Domain.InboxMessages>();

                            InboxMessages_60 = InboxMessages_90.Where(U => U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-60).Date.AddSeconds(1))).ToList();

                            InboxMessages_30 = InboxMessages_90.Where(U => U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-30).Date.AddSeconds(1))).ToList();

                            InboxMessages_15 = InboxMessages_90.Where(U => U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-15).Date.AddSeconds(1))).ToList();

                            present_date = DateTime.Now;
                            i = 0;
                            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                            {
                                try
                                {
                                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                                    {
                                        //List<Domain.Socioboard.Domain.InboxMessages> lstresult = session4.Query<Domain.Socioboard.Domain.TwitterAccountFollowers>().Where(t => t.ProfileId == id && t.EntryDate >= present_date.Date.AddSeconds(1) && t.EntryDate <= present_date.AddDays(1).Date.AddSeconds(-1)).OrderByDescending(t => t.EntryDate).ToList();

                                        List<Domain.Socioboard.Domain.InboxMessages> lstresult = InboxMessages_90.Where(t => t.CreatedTime >= present_date.Date.AddSeconds(1) && t.CreatedTime <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();
                                        if (lstresult.Count > 0)
                                        {
                                            int newfollowerdata = lstresult.Count();

                                            perday_90 = perday_90 + newfollowerdata.ToString() + ",";

                                        }
                                        else
                                        {
                                            perday_90 += "0,";
                                        }
                                    }
                                }
                                catch (Exception e)
                                {
                                    logger.Error("perdaytwtnerror >>" + e.Message);
                                }

                                //logger.Error("perdaytwtn>>" + perday_90);
                                present_date = present_date.AddDays(-1);
                            }


                            if (InboxMessages_15.Count > 0)
                            {
                                r._15 = InboxMessages_15.Count;
                            }
                            else
                            {
                                r._15 = 0;
                            }

                            if (InboxMessages_30.Count > 0)
                            {
                                r._30 = InboxMessages_30.Count;
                            }
                            else
                            {
                                r._30 = 0;
                            }

                            if (InboxMessages_60.Count > 0)
                            {

                                r._60 = InboxMessages_60.Count;
                            }
                            else
                            {
                                r._60 = 0;
                            }

                            if (InboxMessages_90.Count > 0)
                            {

                                r._90 = InboxMessages_90.Count;
                            }
                            else
                            {
                                r._90 = 0;
                            }
                        }
                        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)
                        {

                        }

                        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;
        }
        public string gettwittersexdivision(string groupid, string userid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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 firstname = string.Empty;
            string AllProfileId = string.Empty;
            string FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;
            List<Domain.Socioboard.Domain.TwitterFollowerNames> twtfollowernames;
            long total = 0;
            long male_count = 0;
            long female_count = 0;

            string ret_string = string.Empty;
            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("ProfileType", "twitter").SetParameter("teamid", team.Id).List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                    }

                    foreach (Domain.Socioboard.Domain.TeamMemberProfile teammemberprofile in teammemberprofiles)
                    {
                        try
                        {
                            AllProfileId += teammemberprofile.ProfileId + ',';
                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }
                    }

                    try
                    {
                        AllProfileId = AllProfileId.Substring(0, AllProfileId.Length - 1);
                        ArrProfileId = AllProfileId.Split(',');
                    }
                    catch (Exception Err)
                    {
                        Console.Write(Err.StackTrace);
                    }

                    if (!string.IsNullOrEmpty(AllProfileId))
                    {

                        string strtwtfollowernames = "from TwitterFollowerNames t where t.TwitterProfileId In(" + AllProfileId + ")";

                        using (NHibernate.ISession session3 = SessionFactory.GetNewSession())
                        {
                            twtfollowernames = session3.CreateQuery(strtwtfollowernames).List<Domain.Socioboard.Domain.TwitterFollowerNames>().ToList();

                        }

                        total += twtfollowernames.Count;

                        if (total > 0)
                        {
                            foreach (Domain.Socioboard.Domain.TwitterFollowerNames twtfollowername in twtfollowernames)
                            {
                                if (twtfollowername.Name.Contains(" "))
                                {
                                    firstname = twtfollowername.Name.Split(' ')[0];
                                }
                                else
                                {
                                    firstname = twtfollowername.Name;
                                }
                                string namecheck = "from TwitterNameTable t where t.Name =: name ";
                                using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                                {

                                    NHibernate.IQuery querry = session4.CreateQuery(namecheck).SetParameter("name", firstname);


                                    Domain.Socioboard.Domain.TwitterNameTable _TwitterNameTable = (Domain.Socioboard.Domain.TwitterNameTable)querry.UniqueResult();
                                    if (_TwitterNameTable != null)
                                    {
                                        if (_TwitterNameTable.Gender == 1)
                                        {
                                            male_count++;
                                        }

                                    }
                                    else
                                    {

                                        int length = (firstname.Length) / 2;
                                        string sub_name = firstname.Substring(0, length);



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

                                            List<Domain.Socioboard.Domain.TwitterNameTable> root_names = session5.Query<Domain.Socioboard.Domain.TwitterNameTable>().Where(x => x.Name.Contains(sub_name)).ToList<Domain.Socioboard.Domain.TwitterNameTable>();
                                            int ret = cosine_similarity(root_names, firstname);
                                            if (ret == 1)
                                            {
                                                male_count++;
                                            }
                                        }

                                    }
                                }
                            }
                        }
                        else
                        {
                            ret_string = "0,0";
                        }
                    }
                }


            }
            catch (Exception e)
            {
                logger.Error(e.Message);
                logger.Error(e.StackTrace);
            }
            if (ret_string.Equals("0,0"))
            {

            }
            else
            {
                female_count = total - male_count;
                ret_string = male_count.ToString() + "," + female_count.ToString();
            }
            return ret_string;
        }
        public string getsentmessage(string groupid, string userid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            long _15 = 0;
            long _30 = 0;
            long _60 = 0;
            long _90 = 0;

            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 TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_15;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_30;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_60;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_90;
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_15;
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_30;
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_60;
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_90;


            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 ").SetParameter("teamid", team.Id).List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                    }
                    foreach (Domain.Socioboard.Domain.TeamMemberProfile teammemberprofile in teammemberprofiles)
                    {
                        try
                        {
                            AllProfileId += teammemberprofile.ProfileId + ',';
                            AllProfileIds += "'" + teammemberprofile.ProfileId + "',";
                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }
                    }

                    try
                    {
                        AllProfileId = AllProfileId.Substring(0, AllProfileId.Length - 1);
                        AllProfileIds = AllProfileIds.Substring(0, AllProfileIds.Length - 1);
                        ArrProfileId = AllProfileId.Split(',');
                    }
                    catch (Exception Err)
                    {
                        Console.Write(Err.StackTrace);
                    }


                    if (!string.IsNullOrEmpty(AllProfileId))
                    {
                        string strtwitterdirectmessages = "from TwitterDirectMessages t where t.UserId =: UserId and t.SenderId In(" + AllProfileIds + ")";

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

                            twitterdirectmessages_90 = session3.CreateQuery(strtwitterdirectmessages)
                                                                                 .SetParameter("UserId", Guid.Parse(userid))
                                                                                 .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate > (DateTime.Now.AddDays(-90).Date)).ToList();

                            twitterdirectmessages_60 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate > (DateTime.Now.AddDays(-60).Date)).ToList();

                            twitterdirectmessages_30 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate > (DateTime.Now.AddDays(-30).Date)).ToList();

                            twitterdirectmessages_15 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate > (DateTime.Now.AddDays(-15).Date)).ToList();

                        }
                        string strschedule = "from ScheduledMessage t where t.UserId =: UserId and t.Status = : msgtype and t.ProfileId In(" + AllProfileIds + ")";

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

                            schedule_90 = session4.CreateQuery(strschedule)
                                                                .SetParameter("UserId", Guid.Parse(userid))
                                                                .SetParameter("msgtype", true)
                                                                .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime < DateTime.Now.AddDays(1).Date && x.ScheduleTime > (DateTime.Now.AddDays(-90).Date)).ToList();

                            schedule_60 = schedule_90.Where(x => x.ScheduleTime < DateTime.Now.AddDays(1).Date && x.ScheduleTime > (DateTime.Now.AddDays(-60).Date)).ToList();

                            schedule_30 = schedule_90.Where(x => x.ScheduleTime < DateTime.Now.AddDays(1).Date && x.ScheduleTime > (DateTime.Now.AddDays(-30).Date)).ToList();

                            schedule_15 = schedule_90.Where(x => x.ScheduleTime < DateTime.Now.AddDays(1).Date && x.ScheduleTime > (DateTime.Now.AddDays(-15).Date)).ToList();

                        }

                        present_date = DateTime.Now;

                        while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                        {
                            try
                            {
                                //  int item = session.QueryOver<Domain.Socioboard.Domain.ScheduledMessage>().Where(m => m.ScheduleTime >= present_date.Date && m.ScheduleTime <= present_date.AddDays(1).Date && ArrProfileId.Contains(m.ProfileId) && m.Status == 1).Select(Projections.RowCount()).FutureValue<int>().Value;

                                using (NHibernate.ISession session5 = SessionFactory.GetNewSession())
                                {
                                    int item = 0;
                                    int item1 = 0;

                                    try
                                    {
                                        //List<Domain.Socioboard.Domain.ScheduledMessage> perday_schedule_90 = session5.CreateQuery(strschedule)
                                        //                                                            .SetParameter("UserId", Guid.Parse(userid))
                                        //                                                            .SetParameter("msgtype", true)
                                        //                                                            .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= present_date.AddDays(1).Date.AddSeconds(-1) && x.ScheduleTime >= present_date.Date.AddSeconds(1)).ToList();

                                        List<Domain.Socioboard.Domain.ScheduledMessage> perday_schedule_90 = schedule_90.Where(x => x.ScheduleTime <= present_date.AddDays(1).Date.AddSeconds(-1) && x.ScheduleTime >= present_date.Date.AddSeconds(1)).ToList();

                                        item = perday_schedule_90.Count;
                                    }
                                    catch (Exception e)
                                    {

                                        item = 0;

                                    }

                                    try
                                    {
                                        //List<Domain.Socioboard.Domain.TwitterDirectMessages> perday_twitterdirectmessages_90 = session5.CreateQuery(strtwitterdirectmessages)
                                        //                                      .SetParameter("UserId", Guid.Parse(userid))
                                        //                                     .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= present_date.Date.AddSeconds(1)).ToList();

                                        List<Domain.Socioboard.Domain.TwitterDirectMessages> perday_twitterdirectmessages_90 = twitterdirectmessages_90.Where(x => x.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= present_date.Date.AddSeconds(1)).ToList();

                                        item1 = perday_twitterdirectmessages_90.Count;
                                    }
                                    catch (Exception e)
                                    {
                                        item1 = 0;
                                    }

                                    int add_data = item + item1;

                                    perday_90 = perday_90 + add_data.ToString() + ",";

                                    present_date = present_date.AddDays(-1);
                                    logger.Error("perdaysent >>" + perday_90);
                                }
                            }
                            catch (Exception e)
                            {
                                logger.Error("perdaysenterror >>" + e);
                                Console.Write(e.StackTrace);
                            }
                        }


                        try
                        {
                            string[] arr = perday_90.Split(',');
                            for (int i = 0; i < 15; i++)
                            {
                                perday_15 = perday_15 + arr[i] + ",";
                            }
                            for (int i = 0; i < 30; i++)
                            {
                                perday_30 = perday_30 + arr[i] + ",";
                            }
                            for (int i = 0; i < 60; i++)
                            {
                                perday_60 = perday_60 + arr[i] + ",";
                            }
                        }
                        catch (Exception)
                        {


                        }



                        r._15 = twitterdirectmessages_15.Count + schedule_15.Count;
                        r._30 = twitterdirectmessages_30.Count + schedule_30.Count;
                        r._60 = twitterdirectmessages_60.Count + schedule_60.Count;
                        r._90 = twitterdirectmessages_90.Count + schedule_90.Count;


                        r.perday_15 = perday_15;
                        r.perday_30 = perday_30;
                        r.perday_60 = perday_60;
                        r.perday_90 = perday_90;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                logger.Error(e.Message);
                logger.Error(e.StackTrace);
            }

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;
        }
        public string InstagramPostLikesGained(string profileid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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 ret_string = string.Empty;
            List<Domain.Socioboard.Domain.InstagramPostLikes> postlikes_15 = new List<Domain.Socioboard.Domain.InstagramPostLikes>();
            List<Domain.Socioboard.Domain.InstagramPostLikes> postlikes_30 = new List<Domain.Socioboard.Domain.InstagramPostLikes>();
            List<Domain.Socioboard.Domain.InstagramPostLikes> postlikes_60 = new List<Domain.Socioboard.Domain.InstagramPostLikes>();
            List<Domain.Socioboard.Domain.InstagramPostLikes> postlikes_90 = new List<Domain.Socioboard.Domain.InstagramPostLikes>();

            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    string follow_str = "from InstagramPostLikes i where i.Profile_Id = : ProfileId";
                    try
                    {
                        postlikes_90 = session.CreateQuery(follow_str).SetParameter("ProfileId", profileid)
                                                                        .List<Domain.Socioboard.Domain.InstagramPostLikes>().ToList().Where(x => x.Created_Date < DateTime.Now.AddDays(1).Date && x.Created_Date > (DateTime.Now.AddDays(-90).Date)).OrderByDescending(y => y.Created_Date).ToList();

                        postlikes_60 = postlikes_90.Where(x => x.Created_Date <= DateTime.Now && x.Created_Date >= (DateTime.Now.AddDays(-60))).OrderByDescending(y => y.Created_Date).ToList();

                        postlikes_30 = postlikes_90.Where(x => x.Created_Date <= DateTime.Now && x.Created_Date >= (DateTime.Now.AddDays(-30))).OrderByDescending(y => y.Created_Date).ToList();

                        postlikes_15 = postlikes_90.Where(x => x.Created_Date <= DateTime.Now && x.Created_Date >= (DateTime.Now.AddDays(-15))).OrderByDescending(y => y.Created_Date).ToList();
                    }
                    catch (Exception e)
                    {
                        logger.Error(e.Message);
                        logger.Error(e.StackTrace);
                    }
                    present_date = DateTime.Now;
                    while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                    {
                        try
                        {
                            using (NHibernate.ISession session2 = SessionFactory.GetNewSession())
                            {
                                // List<Domain.Socioboard.Domain.InstagramPostLikes> lstresult = session2.Query<Domain.Socioboard.Domain.InstagramPostLikes>().Where(t => t.Profile_Id == profileid && t.Created_Date >= present_date.Date.AddSeconds(1) && t.Created_Date <= present_date.Date.AddDays(1).AddSeconds(-1)).OrderByDescending(t => t.Created_Date).ToList();
                                List<Domain.Socioboard.Domain.InstagramPostLikes> lstresult = postlikes_90.Where(t => t.Created_Date >= present_date.Date.AddSeconds(1) && t.Created_Date <= present_date.Date.AddDays(1).AddSeconds(-1)).OrderByDescending(t => t.Created_Date).ToList();
                                if (lstresult.Count > 0)
                                {
                                    int item = lstresult.Count;
                                    perday_90 = perday_90 + item.ToString() + ",";
                                }
                                else
                                {
                                    perday_90 = perday_90 + "0,";
                                }
                                present_date = present_date.AddDays(-1);
                                //logger.Error("perdaylikes >>" + perday_90);
                            }
                        }
                        catch (Exception e)
                        {
                            logger.Error("perdaylikeserror >>" + e.Message);
                        }
                    }
                    try
                    {
                        string[] arr = perday_90.Split(',');
                        for (int i = 0; i < 15; i++)
                        {
                            perday_15 = perday_15 + arr[i] + ",";
                        }
                        for (int i = 0; i < 30; i++)
                        {
                            perday_30 = perday_30 + arr[i] + ",";
                        }
                        for (int i = 0; i < 60; i++)
                        {
                            perday_60 = perday_60 + arr[i] + ",";
                        }
                    }
                    catch { }

                    r._15 = postlikes_15.Count;
                    r._30 = postlikes_30.Count;
                    r._60 = postlikes_60.Count;
                    r._90 = postlikes_90.Count;

                    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;
        }
        public string GetVideoPosts(string profileid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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;
            int item_15 = 0;
            int item_30 = 0;
            int item_60 = 0;
            int item_90 = 0;
            string ret_string = string.Empty;
            List<Domain.Socioboard.Domain.InstagramSelfFeed> InstagramSelfFeed_15 = new List<Domain.Socioboard.Domain.InstagramSelfFeed>();
            List<Domain.Socioboard.Domain.InstagramSelfFeed> InstagramSelfFeed_30 = new List<Domain.Socioboard.Domain.InstagramSelfFeed>();
            List<Domain.Socioboard.Domain.InstagramSelfFeed> InstagramSelfFeed_60 = new List<Domain.Socioboard.Domain.InstagramSelfFeed>();
            List<Domain.Socioboard.Domain.InstagramSelfFeed> InstagramSelfFeed_90 = new List<Domain.Socioboard.Domain.InstagramSelfFeed>();
            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    InstagramSelfFeed_90 = session.Query<Domain.Socioboard.Domain.InstagramSelfFeed>().Where(m => m.Created_Time < present_date.AddDays(1).Date && m.Created_Time > present_date.AddDays(-90).Date && m.Type == "video" && m.ProfileId == profileid).GroupBy(x => x.FeedId).Select(g => g.First()).ToList();

                    InstagramSelfFeed_60 = InstagramSelfFeed_90.Where(m => m.Created_Time < present_date.AddDays(1).Date && m.Created_Time > present_date.AddDays(-60).Date).ToList();

                    InstagramSelfFeed_30 = InstagramSelfFeed_90.Where(m => m.Created_Time < present_date.AddDays(1).Date && m.Created_Time > present_date.AddDays(-30).Date).ToList();

                    InstagramSelfFeed_15 = InstagramSelfFeed_90.Where(m => m.Created_Time < present_date.AddDays(1).Date && m.Created_Time > present_date.AddDays(-15).Date).ToList();

                    item_90 = InstagramSelfFeed_90.Count;

                    item_60 = InstagramSelfFeed_60.Count;

                    item_30 = InstagramSelfFeed_30.Count;

                    item_15 = InstagramSelfFeed_15.Count;
                }

                catch (Exception e)
                {
                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);
                }
                present_date = DateTime.Now;
                while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                {
                    try
                    {
                        List<Domain.Socioboard.Domain.InstagramSelfFeed> _InstagramSelfFeed = new List<Domain.Socioboard.Domain.InstagramSelfFeed>();

                        //using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                        //{
                        int item = 0;
                        try
                        {
                            //item = session4.QueryOver<Domain.Socioboard.Domain.InstagramSelfFeed>().Where(m => m.Created_Time >= present_date.Date.AddSeconds(1) && m.Created_Time <= present_date.AddDays(1).Date.AddSeconds(-1) && m.Type == "video" && m.ProfileId == profileid)
                            //                             .Select(Projections.CountDistinct<Domain.Socioboard.Domain.InstagramSelfFeed>(x => x.FeedId))
                            //                             .FutureValue<int>().Value;

                            _InstagramSelfFeed = InstagramSelfFeed_90.Where(m => m.Created_Time >= present_date.Date.AddSeconds(1) && m.Created_Time <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();

                            item = _InstagramSelfFeed.Count;

                        }
                        catch (Exception e)
                        {
                            item = 0;
                        }
                        int add_data = item;
                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdayvideoposts >>" + perday_90);
                        //}
                    }
                    catch (Exception e)
                    {
                        logger.Error("perdayvideopostserror >>" + e.Message);
                    }
                }
                try
                {
                    string[] arr = perday_90.Split(',');
                    for (int i = 0; i < 15; i++)
                    {
                        perday_15 = perday_15 + arr[i] + ",";
                    }
                    for (int i = 0; i < 30; i++)
                    {
                        perday_30 = perday_30 + arr[i] + ",";
                    }
                    for (int i = 0; i < 60; i++)
                    {
                        perday_60 = perday_60 + arr[i] + ",";
                    }
                }
                catch (Exception)
                {
                }
                r._15 = item_15;
                r._30 = item_30;
                r._60 = item_60;
                r._90 = item_90;
                r.perday_15 = perday_15;
                r.perday_30 = perday_30;
                r.perday_60 = perday_60;
                r.perday_90 = perday_90;
            }
            ret_string = new JavaScriptSerializer().Serialize(r);
            return ret_string;
        }
        public string newfollower(string profileid)
        {



            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();

            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };

            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_15 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_30 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_60 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> InboxMessages_90 = new List<Domain.Socioboard.Domain.InboxMessages>();

            //string strtwitterfollowers = "from InboxMessages t where t.ProfileId =: ProfileId and t.MessageType =: MessageType";

            //string strtwitterfollowers = "from TwitterAccountFollowers t where t.ProfileId =: ProfileId";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    InboxMessages_90 = session.Query<Domain.Socioboard.Domain.InboxMessages>().Where(U => U.Status == 0 && U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-90).Date.AddSeconds(1)) && U.ProfileId == profileid && U.MessageType == "twt_followers").GroupBy(x => x.FromId).Select(g => g.First()).ToList<Domain.Socioboard.Domain.InboxMessages>();

                    InboxMessages_60 = InboxMessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-60).Date.AddSeconds(1))).ToList();

                    InboxMessages_30 = InboxMessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-30).Date.AddSeconds(1))).ToList();

                    InboxMessages_15 = InboxMessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-15).Date.AddSeconds(1))).ToList();


                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {
                try
                {
                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                    {
                        List<Domain.Socioboard.Domain.InboxMessages> lstresult = InboxMessages_90.Where(t => t.CreatedTime >= present_date.Date.AddSeconds(1) && t.CreatedTime <= present_date.Date.AddDays(1).AddSeconds(-1)).ToList();

                        if (lstresult.Count > 0)
                        {
                            perday_90 = perday_90 + lstresult.Count.ToString() + ",";
                        }
                        else
                        {
                            perday_90 = perday_90 + "0,";
                        }
                        logger.Error("perdaytwtn>>" + perday_90);
                        present_date = present_date.AddDays(-1);
                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaytwtnerror >>" + e);
                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);
                    Console.Write(e.StackTrace);
                }
            }




            string[] arr = perday_90.Split(',');
            for (int i = 0; i < 15; i++)
            {
                perday_15 = perday_15 + arr[i] + ",";
            }
            for (int i = 0; i < 30; i++)
            {
                perday_30 = perday_30 + arr[i] + ",";
            }
            for (int i = 0; i < 60; i++)
            {
                perday_60 = perday_60 + arr[i] + ",";
            }




            if (InboxMessages_15.Count > 0)
            {

                r._15 = InboxMessages_15.Count;
            }
            else
            {
                r._15 = 0;
            }

            if (InboxMessages_30.Count > 0)
            {

                r._30 = InboxMessages_30.Count;
            }
            else
            {
                r._30 = 0;
            }

            if (InboxMessages_60.Count > 0)
            {

                r._60 = InboxMessages_60.Count;
            }
            else
            {
                r._60 = 0;
            }

            if (InboxMessages_90.Count > 0)
            {

                r._90 = InboxMessages_90.Count;
            }
            else
            {
                r._90 = 0;
            }


            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string InstagramFollowingGained(string profileid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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 ret_string = string.Empty;
            List<Domain.Socioboard.Domain.InstagramUserDetails> following_15 = new List<Domain.Socioboard.Domain.InstagramUserDetails>();
            List<Domain.Socioboard.Domain.InstagramUserDetails> following_30 = new List<Domain.Socioboard.Domain.InstagramUserDetails>();
            List<Domain.Socioboard.Domain.InstagramUserDetails> following_60 = new List<Domain.Socioboard.Domain.InstagramUserDetails>();
            List<Domain.Socioboard.Domain.InstagramUserDetails> following_90 = new List<Domain.Socioboard.Domain.InstagramUserDetails>();
            Domain.Socioboard.Domain.InstagramUserDetails _15_first = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _15_last = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _30_first = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _30_last = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _60_first = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _60_last = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _90_first = new Domain.Socioboard.Domain.InstagramUserDetails();
            Domain.Socioboard.Domain.InstagramUserDetails _90_last = new Domain.Socioboard.Domain.InstagramUserDetails();

            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    string follow_str = "from InstagramUserDetails i where i.Profile_Id = : ProfileId";
                    try
                    {

                        following_90 = session.CreateQuery(follow_str).SetParameter("ProfileId", profileid)
                                                                        .List<Domain.Socioboard.Domain.InstagramUserDetails>().ToList().Where(x => x.Created_Time <= DateTime.Now && x.Created_Time >= (DateTime.Now.AddDays(-90))).OrderByDescending(y => y.Created_Time).ToList();

                        following_60 = following_90.Where(x => x.Created_Time < DateTime.Now.AddDays(1).Date && x.Created_Time > DateTime.Now.AddDays(-60).Date).OrderByDescending(y => y.Created_Time).ToList();

                        following_30 = following_90.Where(x => x.Created_Time < DateTime.Now.AddDays(1).Date && x.Created_Time > DateTime.Now.AddDays(-30).Date).OrderByDescending(y => y.Created_Time).ToList();

                        following_15 = following_90.Where(x => x.Created_Time < DateTime.Now.AddDays(1).Date && x.Created_Time > DateTime.Now.AddDays(-15).Date).OrderByDescending(y => y.Created_Time).ToList();

                    }
                    catch (Exception e)
                    {
                        logger.Error(e.Message);
                        logger.Error(e.StackTrace);
                    }
                    present_date = DateTime.Now;
                    while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                    {
                        try
                        {
                            //using (NHibernate.ISession session2 = SessionFactory.GetNewSession())
                            //{

                            //List<Domain.Socioboard.Domain.InstagramUserDetails> lstresult = session2.Query<Domain.Socioboard.Domain.InstagramUserDetails>().Where(t => t.Profile_Id == profileid && t.Created_Time >= present_date.Date.AddSeconds(1) && t.Created_Time <= present_date.Date.AddDays(1).AddSeconds(-1)).OrderByDescending(t => t.Created_Time).ToList();

                            List<Domain.Socioboard.Domain.InstagramUserDetails> lstresult = following_90.Where(t => t.Created_Time >= present_date.Date.AddSeconds(1) && t.Created_Time <= present_date.Date.AddDays(1).AddSeconds(-1)).OrderByDescending(t => t.Created_Time).ToList();
                            if (lstresult.Count > 0)
                            {
                                Domain.Socioboard.Domain.InstagramUserDetails _result = lstresult.First();
                                Domain.Socioboard.Domain.InstagramUserDetails _result1 = lstresult.Last();

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

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

                                long newfollowerdata = add_data - add_data1;

                                perday_90 = perday_90 + newfollowerdata.ToString() + ",";
                            }
                            else
                            {
                                perday_90 = perday_90 + "0,";
                            }
                            present_date = present_date.AddDays(-1);
                            //    logger.Error("perdayfollowing >>" + perday_90);
                            //}
                        }
                        catch (Exception e)
                        {
                            logger.Error(e.Message);
                        }
                    }
                    try
                    {
                        string[] arr = perday_90.Split(',');
                        for (int i = 0; i < 15; i++)
                        {
                            perday_15 = perday_15 + arr[i] + ",";
                        }
                        for (int i = 0; i < 30; i++)
                        {
                            perday_30 = perday_30 + arr[i] + ",";
                        }
                        for (int i = 0; i < 60; i++)
                        {
                            perday_60 = perday_60 + arr[i] + ",";
                        }
                    }
                    catch (Exception)
                    {

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

                    if (following_30.Count > 0)
                    {
                        _30_first = following_30.First();
                        _30_last = following_30.Last();
                        r._30 = long.Parse(_30_first.Following) - long.Parse(_30_last.Following);
                    }
                    else
                    {
                        r._30 = 0;
                    }
                    if (following_60.Count > 0)
                    {
                        _60_first = following_60.First();
                        _60_last = following_60.Last();
                        r._60 = long.Parse(_60_first.Following) - long.Parse(_60_last.Following);
                    }
                    else
                    {
                        r._60 = 0;
                    }
                    if (following_90.Count > 0)
                    {
                        _90_first = following_90.First();
                        _90_last = following_90.Last();
                        r._90 = long.Parse(_90_first.Following) - long.Parse(_90_last.Following);
                    }
                    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;
        }
        public string directmessagesent(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            Domain.Socioboard.Domain.TwitterDirectMessages _15_first = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _30_first = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _60_first = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _90_first = new Domain.Socioboard.Domain.TwitterDirectMessages();

            Domain.Socioboard.Domain.TwitterDirectMessages _15_last = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _30_last = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _60_last = new Domain.Socioboard.Domain.TwitterDirectMessages();
            Domain.Socioboard.Domain.TwitterDirectMessages _90_last = new Domain.Socioboard.Domain.TwitterDirectMessages();


            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_15 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_30 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_60 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_90 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            string strtwitterfollowers = "from TwitterDirectMessages t where t.SenderId =: ProfileId";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    twitterdirectmessages_15 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-15))).ToList();

                    twitterdirectmessages_30 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-30))).ToList();
                    twitterdirectmessages_60 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-60))).ToList();
                    twitterdirectmessages_90 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-90))).ToList();

                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {

                try
                {


                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                    {
                        int item1 = 0;

                        try
                        {

                            item1 = session4.QueryOver<Domain.Socioboard.Domain.TwitterDirectMessages>().Where(m => m.CreatedDate >= present_date.Date && m.CreatedDate <= present_date.AddDays(1).Date).Where(s => s.SenderId == profileid)
                                                          .Select(Projections.CountDistinct<Domain.Socioboard.Domain.TwitterDirectMessages>(x => x.MessageId))
                                                          .FutureValue<int>().Value;

                        }
                        catch (Exception e)
                        {
                            item1 = 0;
                        }

                        int add_data = item1;

                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdaydirectmessagesent>>" + perday_90);

                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaydmsenterror >>" + e);
                    Console.Write(e.StackTrace);
                }
            }




            try
            {
                perday_15 = perday_90.Substring(0, 29);
                perday_30 = perday_90.Substring(0, 59);
                perday_60 = perday_90.Substring(0, 119);
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }


            r._15 = twitterdirectmessages_15.Count;
            r._30 = twitterdirectmessages_30.Count;
            r._60 = twitterdirectmessages_60.Count;
            r._90 = twitterdirectmessages_90.Count;



            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string twitterretweets(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();

            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_15 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_30 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_60 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_90 = new List<Domain.Socioboard.Domain.InboxMessages>();
            string strtwitterfollowers = "from InboxMessages t where t.ProfileId =: ProfileId and t.MessageType = : msgtype";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    inboxmessages_15 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                           .SetParameter("msgtype", "twt_retweet")
                                                          .List<Domain.Socioboard.Domain.InboxMessages>().ToList().Where(x => x.EntryTime <= DateTime.Now && x.EntryTime >= (DateTime.Now.AddDays(-15))).ToList();

                    inboxmessages_30 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                           .SetParameter("msgtype", "twt_retweet")
                                                          .List<Domain.Socioboard.Domain.InboxMessages>().ToList().Where(x => x.EntryTime <= DateTime.Now && x.EntryTime >= (DateTime.Now.AddDays(-30))).ToList();
                    inboxmessages_60 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                            .SetParameter("msgtype", "twt_retweet")
                                                           .List<Domain.Socioboard.Domain.InboxMessages>().ToList().Where(x => x.EntryTime <= DateTime.Now && x.EntryTime >= (DateTime.Now.AddDays(-60))).ToList();
                    inboxmessages_90 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                            .SetParameter("msgtype", "twt_retweet")
                                                           .List<Domain.Socioboard.Domain.InboxMessages>().ToList().Where(x => x.EntryTime <= DateTime.Now && x.EntryTime >= (DateTime.Now.AddDays(-90))).ToList();

                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {

                try
                {


                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                    {
                        int item = 0;

                        try
                        {
                            item = session4.QueryOver<Domain.Socioboard.Domain.InboxMessages>().Where(m => m.CreatedTime >= present_date.Date && m.CreatedTime <= present_date.AddDays(1).Date && m.MessageType == "twt_retweet").Where(s => s.RecipientId == profileid)
                                                     .Select(Projections.CountDistinct<Domain.Socioboard.Domain.InboxMessages>(x => x.MessageId))
                                                     .FutureValue<int>().Value;
                        }
                        catch (Exception e)
                        {
                            item = 0;

                        }

                        int add_data = item;

                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdaymention >>" + perday_90);

                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaymentionerror >>" + e);
                    logger.Error(e.StackTrace);
                    Console.Write(e.StackTrace);
                }
            }




            try
            {
                perday_15 = perday_90.Substring(0, 29);
                perday_30 = perday_90.Substring(0, 59);
                perday_60 = perday_90.Substring(0, 119);
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }


            r._15 = inboxmessages_15.Count;
            r._30 = inboxmessages_30.Count;
            r._60 = inboxmessages_60.Count;
            r._90 = inboxmessages_90.Count;



            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string messagesent(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
          


            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_15 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_30 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_60 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_90 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_15 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_30 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_60 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> schedule_90 = new List<Domain.Socioboard.Domain.ScheduledMessage>();

            string strtwitterfollowers = "from TwitterDirectMessages t where t.SenderId =: ProfileId";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    twitterdirectmessages_15 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-15))).ToList();

                    twitterdirectmessages_30 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-30))).ToList();
                    twitterdirectmessages_60 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-60))).ToList();
                    twitterdirectmessages_90 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-90))).ToList();

                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }
            string strschedule = "from ScheduledMessage t where t.ProfileId =: profileid and t.Status = : msgtype";

            using (NHibernate.ISession session2 = SessionFactory.GetNewSession())
            {
                try
                {
                    schedule_15 = session2.CreateQuery(strschedule)
                                                  .SetParameter("profileid", profileid)
                                                  .SetParameter("msgtype", true)
                                                  .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-15))).ToList();

                    schedule_30 = session2.CreateQuery(strschedule)
                                            .SetParameter("profileid", profileid)
                                            .SetParameter("msgtype", true)
                                            .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-30))).ToList();

                    schedule_60 = session2.CreateQuery(strschedule)
                                           .SetParameter("profileid", profileid)
                                           .SetParameter("msgtype", true)
                                           .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-60))).ToList();

                    schedule_90 = session2.CreateQuery(strschedule)
                                           .SetParameter("profileid", profileid)
                                           .SetParameter("msgtype", true)
                                           .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-90))).ToList();

                }
                catch (Exception e)
                {
                    
                  logger.Error(e.Message);
                    logger.Error(e.StackTrace);
                }

            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {

                try
                {


                    using (NHibernate.ISession session5 = SessionFactory.GetNewSession())
                    {
                        int item = 0;
                        int item1 = 0;

                        try
                        {
                            List<Domain.Socioboard.Domain.ScheduledMessage> perday_schedule_90 = session5.CreateQuery(strschedule)
                                                                                        .SetParameter("profileid", profileid)
                                                                                        .SetParameter("msgtype", true)
                                                                                        .List<Domain.Socioboard.Domain.ScheduledMessage>().ToList().Where(x => x.ScheduleTime <= present_date.AddDays(1).Date && x.ScheduleTime >= present_date.Date).ToList();



                            item = perday_schedule_90.Count;
                        }
                        catch (Exception e)
                        {

                            item = 0;

                        }

                        try
                        {
                            List<Domain.Socioboard.Domain.TwitterDirectMessages> perday_twitterdirectmessages_90 = session5.CreateQuery(strtwitterfollowers)
                                                                .SetParameter("ProfileId", profileid)
                                                                 .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.CreatedDate <= present_date.AddDays(1).Date && x.CreatedDate >= present_date.Date).ToList();
                            item1 = perday_twitterdirectmessages_90.Count;
                        }
                        catch (Exception e)
                        {
                            item1 = 0;

                        }

                        int add_data = item + item1;

                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdaysent >>" + perday_90);
                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaydmsenterror >>" + e);
                    Console.Write(e.StackTrace);
                }
            }




            try
            {
                perday_15 = perday_90.Substring(0, 29);
                perday_30 = perday_90.Substring(0, 59);
                perday_60 = perday_90.Substring(0, 119);
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }


            r._15 = twitterdirectmessages_15.Count;
            r._30 = twitterdirectmessages_30.Count;
            r._60 = twitterdirectmessages_60.Count;
            r._90 = twitterdirectmessages_90.Count;



            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string youfollowed(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            Domain.Socioboard.Domain.TwitterAccountFollowers _15_first = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _30_first = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _60_first = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _90_first = new Domain.Socioboard.Domain.TwitterAccountFollowers();

            Domain.Socioboard.Domain.TwitterAccountFollowers _15_last = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _30_last = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _60_last = new Domain.Socioboard.Domain.TwitterAccountFollowers();
            Domain.Socioboard.Domain.TwitterAccountFollowers _90_last = new Domain.Socioboard.Domain.TwitterAccountFollowers();


            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.TwitterAccountFollowers> twitterfollowers_15 = new List<Domain.Socioboard.Domain.TwitterAccountFollowers>();
            List<Domain.Socioboard.Domain.TwitterAccountFollowers> twitterfollowers_30 = new List<Domain.Socioboard.Domain.TwitterAccountFollowers>();
            List<Domain.Socioboard.Domain.TwitterAccountFollowers> twitterfollowers_60 = new List<Domain.Socioboard.Domain.TwitterAccountFollowers>();
            List<Domain.Socioboard.Domain.TwitterAccountFollowers> twitterfollowers_90 = new List<Domain.Socioboard.Domain.TwitterAccountFollowers>();
            string strtwitterfollowers = "from TwitterAccountFollowers t where t.ProfileId =: ProfileId";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    twitterfollowers_15 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterAccountFollowers>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-15))).ToList();

                    twitterfollowers_30 = session.CreateQuery(strtwitterfollowers)
                                                          .SetParameter("ProfileId", profileid)
                                                          .List<Domain.Socioboard.Domain.TwitterAccountFollowers>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-30))).ToList();
                    twitterfollowers_60 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterAccountFollowers>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-60))).ToList();
                    twitterfollowers_90 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterAccountFollowers>().ToList().Where(x => x.EntryDate <= DateTime.Now && x.EntryDate >= (DateTime.Now.AddDays(-90))).ToList();

                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {

                try
                {


                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                    {
                        List<Domain.Socioboard.Domain.TwitterAccountFollowers> lstresult = session4.Query<Domain.Socioboard.Domain.TwitterAccountFollowers>().Where(t => t.ProfileId == profileid && 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.TwitterAccountFollowers _result = lstresult.First();


                            string add_data = _result.FollowingsCount.ToString();


                            perday_90 = perday_90 + add_data + ",";
                        }
                        else
                        {

                            perday_90 = perday_90 + "0,";
                        }
                        logger.Error("perdaytwtf>>" + perday_90);
                        present_date = present_date.AddDays(-1);


                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaytwtferror >>" + e);
                    Console.Write(e.StackTrace);
                }
            }




            try
            {
                perday_15 = perday_90.Substring(0, 29);
                perday_30 = perday_90.Substring(0, 59);
                perday_60 = perday_90.Substring(0, 119);
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }


            if (twitterfollowers_15.Count > 0)
            {
                _15_first = twitterfollowers_15.First();
                _15_last = twitterfollowers_15.Last();
                r._15 = _15_first.FollowingsCount - _15_last.FollowingsCount;
            }
            else
            {
                r._15 = 0;
            }

            if (twitterfollowers_30.Count > 0)
            {
                _30_first = twitterfollowers_30.First();
                _30_last = twitterfollowers_30.Last();
                r._30 = _30_first.FollowingsCount - _30_last.FollowingsCount;
            }
            else
            {
                r._30 = 0;
            }

            if (twitterfollowers_60.Count > 0)
            {
                _60_first = twitterfollowers_60.First();
                _60_last = twitterfollowers_60.Last();
                r._60 = _60_first.FollowingsCount - _60_last.FollowingsCount;
            }
            else
            {
                r._60 = 0;
            }

            if (twitterfollowers_90.Count > 0)
            {
                _90_first = twitterfollowers_90.First();
                _90_last = twitterfollowers_90.Last();
                r._90 = _90_first.FollowingsCount - _90_last.FollowingsCount;
            }
            else
            {
                r._90 = 0;
            }


            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string clicks(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();

            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.ScheduledMessage> clicks_15 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> clicks_30 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> clicks_60 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> clicks_90 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
            List<Domain.Socioboard.Domain.ScheduledMessage> perday_clicks_90 = new List<Domain.Socioboard.Domain.ScheduledMessage>();
          
            string link = "http://bit.ly/";

            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {


                    clicks_15 = session.Query<Domain.Socioboard.Domain.ScheduledMessage>().Where(x => x.ShareMessage.Contains(link) && x.ProfileId == profileid && x.Status == true && x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-15))).ToList<Domain.Socioboard.Domain.ScheduledMessage>();


                    clicks_30 = session.Query<Domain.Socioboard.Domain.ScheduledMessage>().Where(x => x.ShareMessage.Contains(link) && x.ProfileId == profileid && x.Status == true && x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-30))).ToList<Domain.Socioboard.Domain.ScheduledMessage>();

                    clicks_60 = session.Query<Domain.Socioboard.Domain.ScheduledMessage>().Where(x => x.ShareMessage.Contains(link) && x.ProfileId == profileid && x.Status == true && x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-60))).ToList<Domain.Socioboard.Domain.ScheduledMessage>();

                    clicks_90 = session.Query<Domain.Socioboard.Domain.ScheduledMessage>().Where(x => x.ShareMessage.Contains(link) && x.ProfileId == profileid && x.Status == true && x.ScheduleTime <= DateTime.Now && x.ScheduleTime >= (DateTime.Now.AddDays(-90))).ToList<Domain.Socioboard.Domain.ScheduledMessage>();
                            
                            
                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {

                try
                {


                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                    {
                        int item = 0;

                        try
                        {
                            perday_clicks_90 = session4.Query<Domain.Socioboard.Domain.ScheduledMessage>().Where(x => x.ShareMessage.Contains(link) && x.ProfileId == profileid && x.Status == true && x.ScheduleTime <= present_date.AddDays(1).Date && x.ScheduleTime >= present_date.Date).ToList<Domain.Socioboard.Domain.ScheduledMessage>();

                            item = perday_clicks_90.Count;
                        }
                        catch (Exception e)
                        {
                            item = 0;

                        }

                        int add_data = item;

                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdayclick >>" + perday_90);

                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdayclickerror >>" + e);
                    logger.Error(e.StackTrace);
                    Console.Write(e.StackTrace);
                }
            }




            try
            {
                perday_15 = perday_90.Substring(0, 29);
                perday_30 = perday_90.Substring(0, 59);
                perday_60 = perday_90.Substring(0, 119);
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }


            r._15 = clicks_15.Count;
            r._30 = clicks_30.Count;
            r._60 = clicks_60.Count;
            r._90 = clicks_90.Count;



            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string directmessage(string profileid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
           
            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_15 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_30 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_60 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_90 = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
            string strtwitterfollowers = "from TwitterDirectMessages t where t.RecipientId =: ProfileId";


            using (NHibernate.ISession session = SessionFactory.GetNewSession())
            {
                try
                {
                    twitterdirectmessages_90 = session.CreateQuery(strtwitterfollowers)
                                                           .SetParameter("ProfileId", profileid)
                                                           .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.CreatedDate <= DateTime.Now.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= (DateTime.Now.AddDays(-90).Date.AddSeconds(1))).GroupBy(x => x.MessageId).Select(g => g.First()).ToList();

                    twitterdirectmessages_60 = twitterdirectmessages_90.Where(x => x.CreatedDate <= DateTime.Now.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= (DateTime.Now.AddDays(-60).Date.AddSeconds(1))).ToList();

                    twitterdirectmessages_30 = twitterdirectmessages_90.Where(x => x.CreatedDate <= DateTime.Now.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= (DateTime.Now.AddDays(-30).Date.AddSeconds(1))).ToList();

                    twitterdirectmessages_15 = twitterdirectmessages_90.Where(x => x.CreatedDate <= DateTime.Now.AddDays(1).Date.AddSeconds(-1) && x.CreatedDate >= (DateTime.Now.AddDays(-15).Date.AddSeconds(1))).ToList();



                }

                catch (Exception e)
                {

                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);

                }
            }

            present_date = DateTime.Now;

            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
            {
                try
                {
                    using (NHibernate.ISession session1 = SessionFactory.GetNewSession())
                    {
                        List<Domain.Socioboard.Domain.TwitterDirectMessages> _twitterdirectmessages = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();

                        int item1;
                        try
                        {


                            _twitterdirectmessages = twitterdirectmessages_90.Where(m => m.CreatedDate >= present_date.Date.AddSeconds(1) && m.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();

                            //item1 = session1.QueryOver<Domain.Socioboard.Domain.TwitterDirectMessages>().Where(m => m.CreatedDate >= present_date.Date.AddSeconds(1) && m.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1)).Where( S => S.RecipientId == profileid)
                            //                             .Select(Projections.CountDistinct<Domain.Socioboard.Domain.TwitterDirectMessages>(x => x.MessageId))
                            //                             .FutureValue<int>().Value;

                        }
                        catch (Exception e)
                        {
                            item1 = 0;
                        }

                        int add_data = _twitterdirectmessages.Count;

                        perday_90 = perday_90 + add_data.ToString() + ",";

                        present_date = present_date.AddDays(-1);
                        logger.Error("perdayinbox >>" + perday_90);
                    }
                }
                catch (Exception e)
                {
                    logger.Error("perdaydmerror >>" + e);
                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);
                    Console.Write(e.StackTrace);
                }
            }




            string[] arr = perday_90.Split(',');
            for (int i = 0; i < 15; i++)
            {
                perday_15 = perday_15 + arr[i] + ",";
            }
            for (int i = 0; i < 30; i++)
            {
                perday_30 = perday_30 + arr[i] + ",";
            }
            for (int i = 0; i < 60; i++)
            {
                perday_60 = perday_60 + arr[i] + ",";
            }


            r._15 = twitterdirectmessages_15.Count;
            r._30 = twitterdirectmessages_30.Count;
            r._60 = twitterdirectmessages_60.Count;
            r._90 = twitterdirectmessages_90.Count;



            r.perday_15 = perday_15;
            r.perday_30 = perday_30;
            r.perday_60 = perday_60;
            r.perday_90 = perday_90;

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;

        }
        public string gettwittersexdivision(string profileid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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 firstname = string.Empty;
            string AllProfileId = string.Empty;
            string FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;
            List<Domain.Socioboard.Domain.TwitterFollowerNames> twtfollowernames;
            long total = 0;
            long male_count = 0;
            long female_count = 0;

            string ret_string = string.Empty;
            try
            {

                string strtwtfollowernames = "from TwitterFollowerNames t where t.TwitterProfileId = : profileid)";

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

                    twtfollowernames = session3.CreateQuery(strtwtfollowernames).SetParameter("profileid", profileid).List<Domain.Socioboard.Domain.TwitterFollowerNames>().ToList();

                }

                total += twtfollowernames.Count;

                if (total > 0)
                {
                    foreach (Domain.Socioboard.Domain.TwitterFollowerNames twtfollowername in twtfollowernames)
                    {
                        if (twtfollowername.Name.Contains(" "))
                        {
                            firstname = twtfollowername.Name.Split(' ')[0];
                        }
                        else
                        {
                            firstname = twtfollowername.Name;
                        }
                        string namecheck = "from TwitterNameTable t where t.Name =: name ";
                        using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                        {

                            NHibernate.IQuery querry = session4.CreateQuery(namecheck).SetParameter("name", firstname);


                            Domain.Socioboard.Domain.TwitterNameTable _TwitterNameTable = (Domain.Socioboard.Domain.TwitterNameTable)querry.UniqueResult();
                            if (_TwitterNameTable != null)
                            {
                                if (_TwitterNameTable.Gender == 1)
                                {
                                    male_count++;
                                }

                            }
                            else
                            {

                                int length = (firstname.Length) / 2;
                                string sub_name = firstname.Substring(0, length);



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

                                    List<Domain.Socioboard.Domain.TwitterNameTable> root_names = session5.Query<Domain.Socioboard.Domain.TwitterNameTable>().Where(x => x.Name.Contains(sub_name)).ToList<Domain.Socioboard.Domain.TwitterNameTable>();
                                    int ret = cosine_similarity(root_names, firstname);
                                    if (ret == 1)
                                    {
                                        male_count++;
                                    }
                                }

                            }





                        }
                    }


                }
                else
                {
                    ret_string = "0,0";
                }
            }




            catch (Exception e)
            {


                logger.Error(e.Message);
                logger.Error(e.StackTrace);
            }
            if (ret_string.Equals("0,0"))
            {

            }
            else
            {
                female_count = total - male_count;
                ret_string = male_count.ToString() + "," + female_count.ToString();
            }
            return ret_string;
        }
        public string getinboxcount(string groupid, string userid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            long _15 = 0;
            long _30 = 0;
            long _60 = 0;
            long _90 = 0;
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_15;
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_30;
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_60;
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_90;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_15;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_30;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_60;
            List<Domain.Socioboard.Domain.TwitterDirectMessages> twitterdirectmessages_90;
            List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.TeamMemberProfile> teammemberprofiles;
            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };

            try
            {
                using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                {
                    teams = session4.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 session5 = SessionFactory.GetNewSession())
                    {
                        teammemberprofiles = session5.CreateQuery("from TeamMemberProfile t where t.TeamId = : teamid and t.ProfileType =: ProfileType").SetParameter("ProfileType", "twitter").SetParameter("teamid", team.Id).List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                    }
                    foreach (Domain.Socioboard.Domain.TeamMemberProfile teammemberprofile in teammemberprofiles)
                    {
                        try
                        {
                            AllProfileId += teammemberprofile.ProfileId + ',';
                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }
                    }
                    try
                    {
                        AllProfileId = AllProfileId.Substring(0, AllProfileId.Length - 1);
                        ArrProfileId = AllProfileId.Split(',');
                    }
                    catch (Exception Err)
                    {
                        Console.Write(Err.StackTrace);
                    }
                    if (!string.IsNullOrEmpty(AllProfileId))
                    {
                        string strtwitterdirectmessages = "from TwitterDirectMessages t where t.UserId =: UserId and t.RecipientId In(" + AllProfileId + ")";

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

                            twitterdirectmessages_90 = session2.CreateQuery(strtwitterdirectmessages)
                                                                                  .SetParameter("UserId", Guid.Parse(userid))
                                                                                .List<Domain.Socioboard.Domain.TwitterDirectMessages>().ToList().Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate >= (DateTime.Now.AddDays(-90).Date)).ToList();

                            twitterdirectmessages_60 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate >= (DateTime.Now.AddDays(-60).Date)).ToList();
                            twitterdirectmessages_30 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate >= (DateTime.Now.AddDays(-30).Date)).ToList();
                            twitterdirectmessages_15 = twitterdirectmessages_90.Where(x => x.CreatedDate < DateTime.Now.AddDays(1).Date && x.CreatedDate >= (DateTime.Now.AddDays(-15).Date)).ToList();


                        }
                        string strinboxmessages = "from InboxMessages t where t.UserId =: UserId and t.MessageType = : msgtype and t.RecipientId In(" + AllProfileId + ")";

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

                            inboxmessages_90 = session3.CreateQuery(strinboxmessages)
                                                                              .SetParameter("UserId", Guid.Parse(userid))
                                                                                .SetParameter("msgtype", "twt_mention")
                                                                                .List<Domain.Socioboard.Domain.InboxMessages>().ToList().Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-90).Date)).ToList();

                            inboxmessages_60 = inboxmessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-60).Date)).ToList();

                            inboxmessages_30 = inboxmessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-30).Date)).ToList();

                            inboxmessages_15 = inboxmessages_90.Where(x => x.CreatedTime < DateTime.Now.AddDays(1).Date && x.CreatedTime >= (DateTime.Now.AddDays(-15).Date)).ToList();


                        }
                        present_date = DateTime.Now;
                        while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                        {
                            List<Domain.Socioboard.Domain.InboxMessages> _inboxmessages = new List<Domain.Socioboard.Domain.InboxMessages>();
                            List<Domain.Socioboard.Domain.TwitterDirectMessages> _twitterdirectmessages = new List<Domain.Socioboard.Domain.TwitterDirectMessages>();
                            try
                            {
                                using (NHibernate.ISession session1 = SessionFactory.GetNewSession())
                                {
                                    int item = 0;
                                    int item1 = 0;
                                    try
                                    {
                                        //item = session1.QueryOver<Domain.Socioboard.Domain.InboxMessages>().Where(m => m.CreatedTime >= present_date.Date.AddSeconds(1) && m.CreatedTime <= present_date.AddDays(1).Date.AddSeconds(-1) && m.MessageType == "twt_mention").WhereRestrictionOn(S => S.RecipientId).IsIn(ArrProfileId)
                                        //                             .Select(Projections.CountDistinct<Domain.Socioboard.Domain.InboxMessages>(x => x.MessageId))
                                        //                             .FutureValue<int>().Value;

                                        _inboxmessages = inboxmessages_90.Where(m => m.CreatedTime >= present_date.Date.AddSeconds(1) && m.CreatedTime <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();
                                        item = _inboxmessages.Count;
                                    }
                                    catch (Exception e)
                                    {
                                        item = 0;
                                    }
                                    try
                                    {
                                        //item1 = session1.QueryOver<Domain.Socioboard.Domain.TwitterDirectMessages>().Where(m => m.CreatedDate >= present_date.Date.AddSeconds(1) && m.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1)).WhereRestrictionOn(S => S.RecipientId).IsIn(ArrProfileId)
                                        //                             .Select(Projections.CountDistinct<Domain.Socioboard.Domain.TwitterDirectMessages>(x => x.MessageId))
                                        //                             .FutureValue<int>().Value;

                                        _twitterdirectmessages = twitterdirectmessages_90.Where(m => m.CreatedDate >= present_date.Date.AddSeconds(1) && m.CreatedDate <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();

                                        item1 = _twitterdirectmessages.Count;
                                    }
                                    catch (Exception e)
                                    {
                                        item1 = 0;
                                    }

                                    int add_data = item + item1;

                                    perday_90 = perday_90 + add_data.ToString() + ",";

                                    present_date = present_date.AddDays(-1);
                                    //logger.Error("perdayinbox >>" + perday_90);
                                }
                            }
                            catch (Exception e)
                            {
                                logger.Error("perdayinboxerror >>" + e.Message);
                            }
                        }
                        try
                        {
                            string[] arr = perday_90.Split(',');
                            for (int i = 0; i < 15; i++)
                            {
                                perday_15 = perday_15 + arr[i] + ",";
                            }
                            for (int i = 0; i < 30; i++)
                            {
                                perday_30 = perday_30 + arr[i] + ",";
                            }
                            for (int i = 0; i < 60; i++)
                            {
                                perday_60 = perday_60 + arr[i] + ",";
                            }
                        }
                        catch (Exception)
                        {
                        }
                        r._15 = twitterdirectmessages_15.Count + inboxmessages_15.Count;
                        r._30 = twitterdirectmessages_30.Count + inboxmessages_30.Count;
                        r._60 = twitterdirectmessages_60.Count + inboxmessages_60.Count;
                        r._90 = twitterdirectmessages_90.Count + inboxmessages_90.Count;

                        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;
        }
        public string getfbfans(string groupid, string userid)
        {

            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            long _15 = 0;
            long _30 = 0;
            long _60 = 0;
            long _90 = 0;
            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;
            
                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())
                             {

                                 fbfan_15 = 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(-15))).ToList();
                                 fbfan_30 = 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(-30))).ToList();
                                 fbfan_60 = 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(-60))).ToList();
                                 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))).ToList();


                             }





                            present_date = DateTime.Now;

                            while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                            {


                                try
                                {
                                    using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                                    {

                                        List<Domain.Socioboard.Domain.FacebookFanPage> lstresult = session4.Query<Domain.Socioboard.Domain.FacebookFanPage>().Where(t => ArrProfileId.Contains(t.ProfilePageId) && 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();


                                            string add_data = _result.FanpageCount.ToString();


                                            perday_90 = perday_90 + add_data + ",";
                                        }
                                        else {
                                            perday_90 = perday_90 + "0,";
                                        }
                                        logger.Error("perdayfb>>" + perday_90);
                                        present_date = present_date.AddDays(-1);
                                    }
                                }
                                catch (Exception e)
                                {
                                    logger.Error("perdayfberror >>" + e);
                                    Console.Write(e.StackTrace);
                                }
                            }










                            foreach (Domain.Socioboard.Domain.FacebookFanPage t in fbfan_15)
                            {
                                _15 += long.Parse(t.FanpageCount);
                            }

                            foreach (Domain.Socioboard.Domain.FacebookFanPage t in fbfan_30)
                            {
                                _30 += long.Parse(t.FanpageCount);
                            }

                            foreach (Domain.Socioboard.Domain.FacebookFanPage t in fbfan_60)
                            {
                                _60 += long.Parse(t.FanpageCount);
                            }

                            foreach (Domain.Socioboard.Domain.FacebookFanPage t in fbfan_90)
                            {
                                _90 += long.Parse(t.FanpageCount);
                            }


                            try
                            {
                                perday_15 = perday_90.Substring(0, 29);
                                perday_30 = perday_90.Substring(0, 59);
                                perday_60 = perday_90.Substring(0, 119);
                            }
                            catch (Exception e)
                            {
                                logger.Error(e.Message);
                            }


                            r._15 += _15;
                            r._30 += _30;
                            r._60 += _60;
                            r._90 += _90;
                            r.perday_15 = perday_15;
                            r.perday_30 = perday_30;
                            r.perday_60 = perday_60;
                            r.perday_90 = perday_90;


                        }
                    }
                   
                }
                



                catch (Exception e)
                {
                    Console.WriteLine(e.StackTrace);
                    logger.Error(e.Message);
                    logger.Error(e.StackTrace);
                }
        



            

            string ret = new JavaScriptSerializer().Serialize(r);
            return ret;
        }
        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;
        }
        public string uniquetwitteruser(string groupid, string userid)
        {
            Domain.Socioboard.Domain.ReturnData r = new Domain.Socioboard.Domain.ReturnData();
            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 FbProfileId = string.Empty;
            string TwtProfileId = string.Empty;
            string[] ArrProfileId = { };
            //List<Domain.Socioboard.Domain.Team> teams;
            List<Domain.Socioboard.Domain.GroupProfile> lstGroupProfile;

            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_15 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_30 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_60 = new List<Domain.Socioboard.Domain.InboxMessages>();
            List<Domain.Socioboard.Domain.InboxMessages> inboxmessages_90 = new List<Domain.Socioboard.Domain.InboxMessages>();

            int item_15 = 0;
            int item_30 = 0;
            int item_60 = 0;
            int item_90 = 0;

            string ret_string = string.Empty;
            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("ProfileType", "twitter").SetParameter("teamid", team.Id).List<Domain.Socioboard.Domain.TeamMemberProfile>().ToList();
                //    }
                lstGroupProfile = grpProfilesRepo.GetAllGroupProfiles(Guid.Parse(groupid));
                    foreach (Domain.Socioboard.Domain.GroupProfile teammemberprofile in lstGroupProfile)
                    {
                        try
                        {
                            AllProfileId += teammemberprofile.ProfileId + ',';
                        }
                        catch (Exception Err)
                        {
                            Console.Write(Err.StackTrace);
                        }
                    }
                    try
                    {
                        AllProfileId = AllProfileId.Substring(0, AllProfileId.Length - 1);
                        ArrProfileId = AllProfileId.Split(',');
                    }
                    catch (Exception Err)
                    {
                        Console.Write(Err.StackTrace);
                    }
                    if (!string.IsNullOrEmpty(AllProfileId))
                    {

                        string strinboxmessages = "from InboxMessages t where t.UserId =: UserId and t.MessageType = : msgtype and Staus= and t.RecipientId In(" + AllProfileId + ")";

                        using (NHibernate.ISession session3 = SessionFactory.GetNewSession())
                        {
                            try
                            {
                                inboxmessages_90 = session3.Query<Domain.Socioboard.Domain.InboxMessages>().Where(U => U.Status == 0 && U.CreatedTime < DateTime.Now.AddDays(1).Date && U.CreatedTime >= (DateTime.Now.AddDays(-90).Date.AddSeconds(1)) && ArrProfileId.Contains(U.ProfileId) && U.MessageType == "twt_followers").GroupBy(x => x.FromId).Select(g => g.First()).ToList<Domain.Socioboard.Domain.InboxMessages>();
                                item_90 = inboxmessages_90.Count;
                            }
                            catch (Exception)
                            {

                            }
                            try
                            {
                                inboxmessages_60 = inboxmessages_90.Where(m => m.CreatedTime < present_date.Date && m.CreatedTime >= present_date.AddDays(-60).Date).ToList();
                                item_60 = inboxmessages_60.Count;
                            }
                            catch (Exception)
                            {

                            }
                            try
                            {
                                inboxmessages_30 = inboxmessages_90.Where(m => m.CreatedTime < present_date.Date && m.CreatedTime >= present_date.AddDays(-30).Date).ToList();
                                item_30 = inboxmessages_60.Count;

                            }
                            catch (Exception)
                            {


                            }
                            try
                            {
                                inboxmessages_15 = inboxmessages_90.Where(m => m.CreatedTime < present_date.Date && m.CreatedTime >= present_date.AddDays(-15).Date).ToList();
                                item_15 = inboxmessages_60.Count;
                            }
                            catch (Exception)
                            {

                            }

                        }

                        present_date = DateTime.Now;

                        while (present_date.Date != DateTime.Now.Date.AddDays(-90))
                        {

                            try
                            {
                                List<Domain.Socioboard.Domain.InboxMessages> _inboxmessages = new List<Domain.Socioboard.Domain.InboxMessages>();
                                using (NHibernate.ISession session4 = SessionFactory.GetNewSession())
                                {
                                    int item = 0;
                                    try
                                    {
                                        //item = session4.QueryOver<Domain.Socioboard.Domain.InboxMessages>().Where(m => m.CreatedTime >= present_date.Date.AddSeconds(1) && m.CreatedTime <= present_date.AddDays(1).Date.AddSeconds(-1) && m.MessageType == "twt_followers").WhereRestrictionOn(S => S.ProfileId).IsIn(ArrProfileId)
                                        //                             .Select(Projections.CountDistinct<Domain.Socioboard.Domain.InboxMessages>(x => x.FromId))
                                        //                             .FutureValue<int>().Value;
                                        _inboxmessages = inboxmessages_90.Where(m => m.CreatedTime >= present_date.Date.AddSeconds(1) && m.CreatedTime <= present_date.AddDays(1).Date.AddSeconds(-1)).ToList();
                                        item = _inboxmessages.Count;

                                    }
                                    catch (Exception e)
                                    {
                                        item = 0;
                                    }
                                    int add_data = item;
                                    perday_90 = perday_90 + add_data.ToString() + ",";

                                    present_date = present_date.AddDays(-1);
                                    logger.Error("perdayuniqueusers >>" + perday_90);
                                }
                            }
                            catch (Exception e)
                            {
                                logger.Error("perdayuniqueuserserror >>" + e.Message);
                            }
                        }

                        try
                        {
                            string[] arr = perday_90.Split(',');
                            for (int i = 0; i < 15; i++)
                            {
                                perday_15 = perday_15 + arr[i] + ",";
                            }
                            for (int i = 0; i < 30; i++)
                            {
                                perday_30 = perday_30 + arr[i] + ",";
                            }
                            for (int i = 0; i < 60; i++)
                            {
                                perday_60 = perday_60 + arr[i] + ",";
                            }

                        }
                        catch (Exception)
                        {

                        }

                        r._15 = item_15;
                        r._30 = item_30;
                        r._60 = item_60;
                        r._90 = item_90;
                        r.perday_15 = perday_15;
                        r.perday_30 = perday_30;
                        r.perday_60 = perday_60;
                        r.perday_90 = perday_90;

                    }
                //}
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
            }
            ret_string = new JavaScriptSerializer().Serialize(r);
            return ret_string;
        }