Example #1
0
        public static SocialMediaConnectStatus Register(FacebookUserModel model, string userProvider)
        {
            SocialMediaConnectStatus connectStatus = SocialMediaConnectStatus.LoggedIn;

            var userManager = UserManager.GetManager(userProvider);

            userManager.Provider.SuppressSecurityChecks = true;

            if (!userManager.UserExists("facebook_user" + model.UserId))
            {
                System.Web.Security.MembershipCreateStatus status;
                var user = userManager.CreateUser("facebook_user" + model.UserId, Encrypt(model.UserId), model.Email,
                                                  "Question1", "Answer1", true, null, out status);

                userManager.SaveChanges();

                userManager.Provider.SuppressSecurityChecks = false;

                SitefinityUserModel sfUserModel = new SitefinityUserModel();

                //var profileManager = UserProfileManager.GetManager();
                //var profile = profileManager.CreateProfile(user, typeof(SitefinityProfile).FullName) as SitefinityProfile;
                //profile.FirstName = model.FirstName;
                //profile.LastName = model.LastName;

                //TODO: Cast Facebook Model to Sitefinity Model
                sfUserModel.CreatedUserId = user.Id;
                sfUserModel.FirstName     = model.FirstName;
                sfUserModel.LastName      = model.LastName;
                sfUserModel.Avatar        = model.ProfileImageUrl;
                sfUserModel.Birthday      = model.Birthday;
                sfUserModel.Location      = model.Location;
                sfUserModel.Gender        = model.Gender;

                RoleManager roleManager = RoleManager.GetManager();
                roleManager.Provider.SuppressSecurityChecks = true;

                roleManager.Provider.SuppressSecurityChecks = false;

                if (status != MembershipCreateStatus.Success)
                {
                    return(SocialMediaConnectStatus.Failed);
                }

                connectStatus = SocialMediaConnectStatus.Registered;
            }

            UserLoggingReason loginStatus = Login(model, "Default");

            Login(model, userProvider);

            return(connectStatus);
        }
        public ActionResult Index()
        {
            Guid currentUserId = ClaimsManager.GetCurrentUserId();

            if (currentUserId == Guid.Empty)
            {
                return(View("Connect"));
            }
            else
            {
                var model = new SitefinityUserModel();
                return(View("ViewProfile", model));
            }
        }