public async Task <IUser> Login(string id, string password, IUserObserver observer) { if (id == null) { throw new ArgumentNullException(nameof(id)); } if (password == null) { throw new ArgumentNullException(nameof(password)); } // Check account var ok = CheckAccount(id, password); if (ok == false) { throw new InvalidCredentialException(); } // Make UserActor and bind it var user = Context.System.InterfacedActorOf(Props.Create(() => new UserActor(id, observer))).Cast <UserRef>(); return((await _actorBoundChannel.BindActor(user)).Cast <UserRef>()); }
public void AddUserObserver(IUserObserver observer) { if (!_observers.Contains(observer)) { _observers.Add(observer); } if (IsLoggedIn && User != null) { observer.OnUserReceived(User); } }
public async Task<IUser> Login(string id, string password, IUserObserver observer) { if (id == null) throw new ArgumentNullException(nameof(id)); if (password == null) throw new ArgumentNullException(nameof(password)); // Check account var ok = CheckAccount(id, password); if (ok == false) throw new InvalidCredentialException(); // Make UserActor and bind it var user = Context.System.InterfacedActorOf(Props.Create(() => new UserActor(id, observer))).Cast<UserRef>(); return (await _actorBoundChannel.BindActor(user)).Cast<UserRef>(); }
public void SetUserDataObserver(IUserObserver observer) { this.observer = observer; }
public void AddObserver(IUserObserver observer) { observers.Add(observer); }
public UserActor(string id, IUserObserver observer) { _id = id; _observer = observer; }