Example #1
0
        //
        // GET: /Tweeps/Details/5
        public ActionResult Details(string sUserName)
        {
            Database.DefaultConnectionFactory =
                 new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");

            Unfollower.Models.TwitterUserContext dbContext = new Models.TwitterUserContext();

            Unfollower.Models.TwitterUser myUser = null;
            try
            {
                if (dbContext.Tweeps.Count() > 0)
                {
                    List<Unfollower.Models.TwitterUser> userlist = dbContext.Tweeps.ToList();
                    foreach (Unfollower.Models.TwitterUser us in userlist)
                    {
                        if (us.Username == sUserName)
                        {
                            myUser = us;
                            break;
                        }
                    }
                }
            }
            catch { }
            // create user
            if (myUser == null)
            {
                myUser = new Models.TwitterUser()
                {
                    Username = sUserName,
                    ID = Guid.NewGuid().ToString(),
                    LastPull = DateTime.Now.AddDays(-2),
                    DirectMessage = false,
                    DoAlert = false
                };

                dbContext.Tweeps.Add(myUser);
                dbContext.SaveChanges();

                try
                {
                    //Alert me
                    Utils.TwitterUtils.SendTweet("Thanks " + sUserName + " for downloading Unfollowers, now wait for me, to see who unfollowers you./cc @alpascual", 0);
                }
                catch
                {
                }
            }

            // This could take a long time
            if (myUser.LastPull < DateTime.Now.AddHours(-5))
            {
                //DoWork(sUserName, myUser, dbContext);
                AsyncManager.OutstandingOperations.Increment();

                TweetThreadParams tParams = new TweetThreadParams()
                {
                    dbContext = dbContext,
                    sUserName = sUserName,
                    myUser = myUser
                };

                Thread th1 = new Thread(new ParameterizedThreadStart(DoWork));

                th1.Start(tParams);

                AsyncManager.OutstandingOperations.Decrement();

                ViewBag.UserCollection = "running";
                return View();
            }

            string sReturn = "";
            foreach (Models.Unfollowers unf in myUser.Unfollowers)
            {
                sReturn += unf.FoundTime + "|" + unf.Username + ",";
            }

            if (sReturn.Length > 0)
                sReturn = sReturn.Substring(0, sReturn.Length - 1);
            else
                sReturn = "none";

            ViewBag.UserCollection = sReturn;

            return View();
        }
Example #2
0
        public ActionResult ProcessOne(string sUserName)
        {
            Database.DefaultConnectionFactory =
                 new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
            Unfollower.Models.TwitterUserContext dbContext = new Models.TwitterUserContext();

            ViewBag.Results = "Processing only " + sUserName;

            if (dbContext.Tweeps.Count() > 0)
            {
                List<Unfollower.Models.TwitterUser> userlist = dbContext.Tweeps.ToList();
                foreach (Unfollower.Models.TwitterUser us in userlist)
                {
                    try
                    {
                        if (us.Username.IndexOf('@') > -1)
                            us.Username = us.Username.Replace("@", "");
                    }
                    catch { }

                    if (us.Username == sUserName)
                    {
                        TweetThreadParams tweetParams = new TweetThreadParams()
                        {
                            myUser = us,
                            dbContext = dbContext,
                            sUserName = us.Username
                        };

                        DoWork(tweetParams);

                        ViewBag.Results += ", " + us.Username;

                        Create();
                    }
                }

            }
            return View();
        }
Example #3
0
        public ActionResult CheckAll()
        {
            Database.DefaultConnectionFactory =
                 new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
            Unfollower.Models.TwitterUserContext dbContext = new Models.TwitterUserContext();

            ViewBag.Results = "Processing ";

            if (dbContext.Tweeps.Count() > 0)
            {
                List<Unfollower.Models.TwitterUser> userlist = dbContext.Tweeps.ToList();
                foreach (Unfollower.Models.TwitterUser us in userlist)
                {
                    try
                    {
                        if (us.Username.IndexOf('@') > -1)
                            us.Username = us.Username.Replace("@", "");
                    }
                    catch { }

                    TweetThreadParams tweetParams = new TweetThreadParams()
                    {
                        myUser = us,
                        dbContext = dbContext,
                        sUserName = us.Username
                    };

                    //DoWork(tweetParams);
                    Thread th1 = new Thread(new ParameterizedThreadStart(DoWork));

                    th1.Start(tweetParams);

                    ViewBag.Results += ", " + us.Username;
                    Thread.Sleep(1);
                }

            }

            //return Create();
            return View();
        }