public override void Assign(object source, int loadingFlags) { base.Assign(source, loadingFlags); IDxUserLogin <string> src = source as IDxUserLogin <string>; if (src != null) { this.LoginProvider = src.LoginProvider; this.ProviderKey = src.ProviderKey; this.User = Session.FindObject(typeof(XpoDxUser), XpoDxUser.Fields.Id == src.UserId) as XpoDxUser; } }
public void AssignLogins(IList logins) { if (logins == null) { return; } foreach (var login in new XPCollection(Session, typeof(XpoDxUserLogin), CriteriaOperator.Parse("[User!Key] == ?", Id), null)) { Logins.Remove(login as XpoDxUserLogin); } foreach (var l in logins) { IDxUserLogin <string> login = l as IDxUserLogin <string>; if (l != null) { Logins.Add(new XpoDxUserLogin(Session) { User = this, LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey }); } } }