Example #1
0
        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();
            });
        }
Example #2
0
        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));
        }