public ActionResult FacebookCallback3(fbuser user)
        {
            var pg = new page();

            pg = fuserG.pagelist[0];
            return(View(fuserG.pagelist));
        }
        public ActionResult FacebookCallback2(fbuser user)
        {
            ReviewsContext db = new ReviewsContext();

            user.id = iduserG;
            db.Users.Attach(user);

            foreach (var item in user.pagelist)
            {
                db.Pages.Attach(item);

                db.Entry(item).State = EntityState.Modified;
            }
            //user.id = 10213618568591702+"";


            db.Entry(user).State = EntityState.Modified;

            fuserG = user;
            db.SaveChanges();
            return(RedirectToAction("FacebookCallback3", "Home"));
        }
        public ActionResult FacebookCallback(string code)

        {
            var fb = new FacebookClient();

            dynamic result = fb.Post("oauth/access_token", new

            {
                client_id = "2253354658274452",

                client_secret = "35cf0272817393adb4c8d253f5dbe7ad",

                redirect_uri = RediredtUri.AbsoluteUri,

                code = code
            });

            var     accessToken = result.access_token;
            var     accesToken  = result.access_token;  //short lived acces Token
            dynamic result2     = fb.Get("https://graph.facebook.com/v3.0/oauth/access_token?grant_type=fb_exchange_token&client_id=2253354658274452&client_secret=35cf0272817393adb4c8d253f5dbe7ad&fb_exchange_token=" + accesToken);
            var     accesToken2 = result2.access_token; // long lived acces Token

            Session["AccessToken"] = accesToken2;
            fb.AccessToken         = accesToken2;
            dynamic me1    = fb.Get("me");
            string  iduser = me1.id;

            dynamic result3 = fb.Get(" https://graph.facebook.com/v3.0/me?fields=accounts&access_token" + accesToken2);

            var pages  = result3.accounts.data;
            int length = pages.Count;

            /* string id = string.Empty;
             * for (int i = 0; i < length; i++)
             * {
             *   if (pages[i] != null)
             *   { id = pages[i].id; }
             *
             * }
             *
             *
             * dynamic result4 = fb.Get(" https://graph.facebook.com/v3.0/" + id + "?fields=access_token&access_token=" + accesToken2);
             * var accesTokenPage = result4.access_token; //page acces Token aves expiration=jamais
             * TempData["Page Acces Token"] = accesTokenPage;
             * Session["AccessToken"] = accesTokenPage;
             * fb.AccessToken = accesTokenPage;
             *
             *
             *
             *
             *
             * dynamic mee = fb.Get("me?id");
             * dynamic me = fb.Get("me?id");
             *
             * string email = me.email;
             *
             * TempData["email"] = me;
             */



            var data = result3.accounts["data"].ToString();
            var mm   = JsonConvert.DeserializeObject <List <page> >(data);
            var f1   = new fbuser();

            f1.id       = iduser;
            f1.pagelist = mm;
            iduserG     = iduser;

            /****/
            ReviewsContext db = new ReviewsContext();

            int abc = 0;

            if (db.Users.Find(f1.id) == null)
            {
                db.Users.Add(f1);
                abc = 1;
            }


            foreach (var item in f1.pagelist)
            {
                if (db.Pages.Find(item.id) == null)
                {
                    db.Pages.Add(item);
                    db.SaveChanges();
                    db.Database.ExecuteSqlCommand(
                        "UPDATE dbo.Pages SET fbuser_id = " + iduser + "where id =" + item.id);
                }
            }



            db.SaveChanges();


            /*****/


            f1     = db.Users.Find(f1.id);
            fuserG = f1;

            if (abc == 1)
            {
                return(View(f1));
            }


            return(RedirectToAction("FacebookCallback3", "Home"));
            // return Redirect("~/Home/Index");
        }
    private void getAllUsers()
    {
        #region get all users access token
        ConnectionClass ConnObj_u = new ConnectionClass();
        // get user access token
        SqlCommand cmd = new SqlCommand("sp_Get_all_users");
        cmd.Parameters.AddWithValue("@sm_id", 1);
        ConnObj_u.GetDataSet(cmd);
        if (ConnObj_u.IsSuccess && ConnObj_u.DataSet.Tables.Count > 0 && ConnObj_u.DataSet.Tables[0].Rows.Count > 0)
        {
            foreach (DataRow dr in ConnObj_u.DataSet.Tables[0].Rows)
            {
                fbuser obj1 = new fbuser();
                obj1.sm_uid = Convert.ToString(dr["sm_uid"]);
                obj1.reg_uid = Convert.ToInt64(dr["reg_uid"]);
                obj1.token = "";
                obj1.no_of_friends = Convert.ToInt32(dr["no_of_friends"]);
                fbsm_id.Add(obj1);
            }
        }

        // get user access token
        cmd = new SqlCommand("sp_Get_all_users");
        cmd.Parameters.AddWithValue("@sm_id", 2);
        ConnObj_u.GetDataSet(cmd);
        if (ConnObj_u.IsSuccess && ConnObj_u.DataSet.Tables.Count > 0 && ConnObj_u.DataSet.Tables[0].Rows.Count > 0)
        {
            foreach (DataRow dr in ConnObj_u.DataSet.Tables[0].Rows)
            {
                fbuser obj1 = new fbuser();
                obj1.sm_uid = Convert.ToString(dr["sm_uid"]);
                obj1.reg_uid = Convert.ToInt64(dr["reg_uid"]);
                obj1.token = "";
                obj1.no_of_friends = Convert.ToInt32(dr["no_of_friends"]);
                twsm_id.Add(obj1);
            }
        }

        cmd = new SqlCommand("sp_Get_all_users");
        cmd.Parameters.AddWithValue("@sm_id", 3);
        ConnObj_u.GetDataSet(cmd);
        if (ConnObj_u.IsSuccess && ConnObj_u.DataSet.Tables.Count > 0 && ConnObj_u.DataSet.Tables[0].Rows.Count > 0)
        {
            foreach (DataRow dr in ConnObj_u.DataSet.Tables[0].Rows)
            {
                fbuser obj1 = new fbuser();
                obj1.sm_uid = Convert.ToString(dr["sm_uid"]);
                obj1.reg_uid = Convert.ToInt64(dr["reg_uid"]);
                obj1.token = "";
                obj1.no_of_friends = Convert.ToInt32(dr["no_of_friends"]);
                instasm_id.Add(obj1);
            }
        }

        #endregion
    }