In meiner Anwendung habe ich ein kleines Login eingebaut (Account), jedes Account hat/kann mehrere User haben.
Nun wollte ich, sobald sich der Account eingeloggt hat, seine ID im Event weitergeben um Sie weiter nutzen zu können.
AccountRepository
public Account CheckAccount(string email, string password)
{
Account result = _account.Where(k => k.Email == email && k.Password == password).FirstOrDefault();
EventSystem.Instance.eventHanlder.GetEvent<AccountDataEvent>().Publish(result.AccountID);
return result;
}
Nun wollte ich (Ich habe es sowohl im UserRepository als auch im SelectUserViewModel probiert, ledeglich ohne erfolg) die ID weiter bearbeiten bzw nutzen.
public SelectUserViewModel()
{
_repository = new UserRepository();
SelectedUserCommand = new DelegateCommand(UserSelected);
EventSystem.Instance.eventHanlder.GetEvent<AccountDataEvent>().Subscribe(accountData);
Users = _repository.GetUser(AccountID);
}
private void accountData(int _accountid)
{
AccountID = _accountid;
}
private int accountID;
public int AccountID
{
get { return accountID; }
set { SetProperty(ref accountID, value); }
}
meine _accountID erhält wie gewünscht den Wert der ID { 1 }
mein AccountID jedoch bleibt weiterhin auf 0.
Nutze ich das Event womöglich falsch?
Ich habe mich mal auf PrismLibary etwas (versucht) schlau gemacht, blicke jedoch die Art wie Prism das nutzt nicht wirklich durch und fand auch keinen Example welches ich gut nachvollziehen konnte.