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>());
        }
示例#2
0
 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);
 }
示例#6
0
 public UserActor(string id, IUserObserver observer)
 {
     _id       = id;
     _observer = observer;
 }
示例#7
0
 public UserActor(string id, IUserObserver observer)
 {
     _id = id;
     _observer = observer;
 }