public OfflineOrOnlineAdminstrationChoseViewmodel(IView view) { _view = view; OfflineCommand = new RelayCommand(async(object obj) => { _view.Disable(); SQLiteStarter starter = new SQLiteStarter(); IUserProvider desktopUserProvider = ServiceResolver.GetContainer().GetInstance <IUserProvider>(); desktopUserProvider.SetUserId(LoginRepository.Instance.CurrentUser.ID); starter.CreateDBIfNotExists(); // starter.TestSeedDb(); Properties.Settings settings = new Properties.Settings(); if (RememberChoice) { settings.ChoiceIsOnline = false; settings.RememberOnlineChoice = true; settings.Save(); } else { settings.RememberOnlineChoice = false; settings.Save(); } await RepositoryResolver.GetRepository <ITransactionRepository>().CreateInitialFilling(); new MainWindow().Show(); _view.Close(); }); }
public async Task <LoginResult> Login(string emailAdress, string password) { LoginResult result = new LoginResult(); var credentials = CredentialUtil.GetCredential("BalanceKeeper.Desktop" + emailAdress); if (emailAdress != null && credentials != null && credentials.Username == emailAdress && password == credentials.Password) { result.IsError = false; SetCurrentUser(emailAdress); SQLiteStarter starter = new SQLiteStarter(); starter.Start(new Action(() => { IUserProvider desktopUserProvider = ServiceResolver.GetContainer().GetInstance <IUserProvider>(); desktopUserProvider.SetUserId(LoginRepository.Instance.CurrentUser.ID); })); starter.CreateDBIfNotExists(); await RepositoryResolver.GetRepository <ITransactionRepository>().CreateInitialFilling(); } else { result.IsError = true; result.ErrorType = LoginErrorType.WrongCredentials; } return(await Task <LoginResult> .FromResult(result)); }