Пример #1
0
        public static UserPassport BindThirdPassport(ThirdPassport entity, out SignStatus status)
        {
            entity.AssertNotNull("entity");

            UserPassport passport = null;

            status = SignStatus.None;
            var thirdPassport = ThirdPassport.FindByPlatformPassportId(entity.Platform, entity.PlatformPassportId);

            if (null == thirdPassport)
            {
                var email    = string.Format("${0}@{1}.io", entity.PlatformPassportId, entity.Platform);
                var password = EncryptProvider.GenerateSalt();

                passport = MemberShip.SignUp(email, null, null, password, ProfileType.UserProfile, new SignedUpInfo(), out status);
                if (SignStatus.Success == status)
                {
                    thirdPassport            = entity;
                    thirdPassport.PassportId = passport.PassportId;
                    thirdPassport.Save();
                }
            }
            else
            {
                passport = UserPassport.FindById(thirdPassport.PassportId);
                status   = null == passport ? SignStatus.Error : SignStatus.Success;
            }

            return(passport);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="passportId"></param>
        /// <param name="info"></param>
        /// <param name="userPassport"></param>
        /// <returns></returns>
        public static bool SignIn(long passportId, SignedInLog info, out UserPassport userPassport)
        {
            userPassport = UserPassport.FindById(passportId);
            bool verified = null != userPassport;

            if (verified)
            {
                userPassport.SignIn();
                if (null != info)
                {
                    info.PassportId = userPassport.PassportId;
                    info.Save();
                }

                if (null != OnSignIn)
                {
                    OnSignIn(userPassport);
                }
            }

            return(verified);
        }