public ActionResult DeleteConfirmed(string ProviderUserId = null, int UserId = 0)
        {
            //webpages_OAuthMembership webpages_oauthmembership = db.webpages_OAuthMembership.Find(id);
            webpages_OAuthMembership webpages_oauthmembership = db.webpages_OAuthMembership.Where(oau => oau.ProviderUserId == ProviderUserId && oau.UserId == UserId).FirstOrDefault <webpages_OAuthMembership>();

            db.webpages_OAuthMembership.Remove(webpages_oauthmembership);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit(webpages_OAuthMembership webpages_oauthmembership)
 {
     if (ModelState.IsValid)
     {
         db.Entry(webpages_oauthmembership).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(webpages_oauthmembership));
 }
        //
        // GET: /webpages_OAuthMembershipAdmin/Edit/5

        public ActionResult Edit(string ProviderUserId = null, int UserId = 0)
        {
            //webpages_OAuthMembership webpages_oauthmembership = db.webpages_OAuthMembership.Find(id);
            webpages_OAuthMembership webpages_oauthmembership = db.webpages_OAuthMembership.Where(oau => oau.ProviderUserId == ProviderUserId && oau.UserId == UserId).FirstOrDefault <webpages_OAuthMembership>();

            if (webpages_oauthmembership == null)
            {
                return(HttpNotFound());
            }
            return(View(webpages_oauthmembership));
        }
        public ActionResult Create(webpages_OAuthMembership webpages_oauthmembership)
        {
            if (ModelState.IsValid)
            {
                if (string.IsNullOrEmpty(webpages_oauthmembership.Provider))
                {
                    ModelState.AddModelError("", "Provider can not be null.");
                    return(View(webpages_oauthmembership));
                }

                db.webpages_OAuthMembership.Add(webpages_oauthmembership);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(webpages_oauthmembership));
        }
Esempio n. 5
0
        public JsonResult LoginWithFaceBook(string fbID) //, string fbEmail = "")
        {
            using (var db = new TTDBEntities())
            {
                /************************************************************************/
                /* find if login previously                                             */
                /************************************************************************/
                var result = from it in db.webpages_OAuthMembership
                             where it.Provider == @"facebook" && it.ProviderUserId == fbID
                             select it.UserId;

                if (result.Count() == 0)
                {
                    var ad = new webpages_OAuthMembership()
                    {
                        Provider       = @"facebook",
                        ProviderUserId = fbID
                    };

                    var au = new UserProfile()
                    {
                        UserName = fbID,
                        Email    = fbID
                    };

                    db.UserProfile.Add(au);
                    db.SaveChanges();

                    ad.UserId = ad.UserId;
                    db.webpages_OAuthMembership.Add(ad);
                    db.SaveChanges();

                    return(loginReturn(true, fbID));
                }
                else
                {
                    return(loginReturn(true, (from iter in db.UserProfile
                                              where iter.UserId == result.FirstOrDefault()
                                              select iter.UserName).FirstOrDefault()));
                }
            }

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
Esempio n. 6
0
        public ActionResult ExternalLoginCallback(string returnUrl)
        {
            AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));

            if (!result.IsSuccessful)
            {
                return(RedirectToAction("ExternalLoginFailure"));
            }


            // store the user id in the session
            Session["UserFacebookId"] = result.ProviderUserId;
            webpages_OAuthMembership userrecord = db.webpages_OAuthMembership.FirstOrDefault(m => m.Provider == "facebook" && m.ProviderUserId == result.ProviderUserId);

            if (userrecord != null)
            {
                Session["UserID"] = userrecord.UserId;
            }


            // remember the user's facebook friends

            var     fb     = new FacebookClient(result.ExtraData["accesstoken"]);
            dynamic myInfo = fb.Get("/me/friends");

            foreach (dynamic friend in myInfo.data)
            {
                // post a test message the friend's wall
                //try
                //{
                //    fb.Post(string.Format("{0}/feed",friend.id), new { message = "My first wall post" });
                //}
                //catch (Exception e)
                //{
                //    string text = e.StackTrace;
                //}



                // does the friend already exist?
                String     strUserId   = result.ProviderUserId;
                Int64      intUserId   = Int64.Parse(strUserId);
                Int64      intfriendId = Int64.Parse(friend.id);
                UserFriend userFriend  = db.UserFriends.FirstOrDefault(u => u.UserFriend_UserFacebookId == intUserId && u.UserFriend_FriendFacebookId == intfriendId);
                if (userFriend == null)
                {
                    UserFriend newUserFriend = new UserFriend();
                    newUserFriend.UserFriend_UserFacebookId   = intUserId;
                    newUserFriend.UserFriend_FriendFacebookId = intfriendId;
                    newUserFriend.UserFriend_Name             = friend.name;

                    // Save the record
                    db.UserFriends.Add(newUserFriend);
                    db.SaveChanges();
                }
            }

            // post a test message on my wall
            //try
            //{
            //    fb.Post("me/feed", new { message = "My second wall post" });
            //}
            //catch (Exception e)
            //{
            //    string text = e.StackTrace;
            //}


            // post a test
            var parameters = new Dictionary <string, object>
            {
                { "event", "http://amovada.azurewebsites.net/Event/Details/1963" },
                { "tags", "585173979" }
            };
            var response = fb.Post("me/amovada:added_you_to", parameters);



            if (OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false))
            {
                return(RedirectToLocal(returnUrl));
            }



            if (User.Identity.IsAuthenticated)
            {
                // If the current user is logged in add the new account
                OAuthWebSecurity.CreateOrUpdateAccount(result.Provider, result.ProviderUserId, User.Identity.Name);
                return(RedirectToLocal(returnUrl));
            }
            else
            {
                // User is new, ask for their desired membership name
                string loginData = OAuthWebSecurity.SerializeProviderUserId(result.Provider, result.ProviderUserId);
                ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(result.Provider).DisplayName;
                ViewBag.ReturnUrl           = returnUrl;
                return(View("ExternalLoginConfirmation", new RegisterExternalLoginModel {
                    UserName = result.UserName, ExternalLoginData = loginData
                }));
            }
        }