internal static bool Transform(UserPassport passport, OrganizationProfile newProfile) { ArgumentAssertion.IsNotNull(passport, "passport"); OrganizationProfile profile = null; if (passport.Profile is OrganizationProfile) { profile = (OrganizationProfile)passport.Profile; } else { profile = new OrganizationProfile(); profile.FillProfile(passport.Profile); profile.PersistentState = PersistentState.Transient; } if (null != newProfile) { profile.CurrentProfileType = ProfileType.OrganizationProfile; profile.CurrentOrganizationId = newProfile.CurrentOrganizationId; } var saved = profile.Save(); if (saved) { passport.Profile = profile; passport.ProfileType = ProfileType.OrganizationProfile; passport.MultipleProfiles = passport.MultipleProfiles | ProfileType.OrganizationProfile; passport.Save(); } return(saved); }
/// <summary> /// /// </summary> /// <param name="passport"></param> /// <param name="newProfile"></param> /// <returns></returns> public static bool OpenOrganizationService(UserPassport passport, OrganizationProfile newProfile) { passport.AssertNotNull("passport"); newProfile.AssertNotNull("newProfile"); return(OrganizationProfile.Transform(passport, newProfile)); }
private UserProfile LoadProfile() { if (null != this.profile) { return(this.profile); } if (this.PassportId == 0) { return(null); } if ((this.ProfileType & ProfileType.OrganizationProfile) == ProfileType.OrganizationProfile) { this.profile = OrganizationProfile.FindById(this.PassportId); } else { this.profile = UserProfile.FindById(this.PassportId); } if (null != this.profile) { this.profile.Passport = this; } return(this.profile); }
private static UserPassport SignUp(string email, string mobilePhone, string userName, string password, ProfileType selectedProfileType, SignedUpInfo signedUpInfo, out SignStatus status) { var userPassport = new UserPassport() { UserSecurity = new UserSecurity(), Profile = new UserProfile() }; userPassport.Email = email; userPassport.MobilePhone = mobilePhone; userPassport.UserName = userName; userPassport.MultipleProfiles = selectedProfileType; userPassport.UserSecurity.Password = password; userPassport.Profile.CurrentProfileType = selectedProfileType; userPassport.Profile.CreatedTime = userPassport.CreatedTime; userPassport.Profile.LastSignedInTime = userPassport.Profile.CreatedTime; userPassport.Profile.LastActivityTime = userPassport.Profile.CreatedTime; userPassport.Profile.Email = email; status = SignStatus.Error; if (userPassport.SignUp(signedUpInfo)) { status = SignStatus.Success; if (selectedProfileType == ProfileType.OrganizationProfile) { OrganizationProfile.Transform(userPassport, new OrganizationProfile()); } if (null != OnSignUp) { OnSignUp(userPassport); } } return(userPassport); }