Beispiel #1
0
        private async void logInActions(object parameter)
        {
            var passwordVar = parameter as PasswordBox;

            Administrator a = new Administrator();

            a.email = AdminUsername;
            string passwordRaw = passwordVar.Password;


            var data = Encoding.UTF8.GetBytes(passwordRaw);


            byte[] hash;

            using (SHA512 sha = new SHA512Managed())
            {
                hash = sha.ComputeHash(data);
            }

            string hashString = Encoding.Default.GetString(hash);

            hashString = stringToHex(hashString);
            hashString = hashString.ToLower();

            Console.WriteLine(hashString);



            AdminPassword = passwordVar.Password;
            a.password    = hashString;

            if (Repository.loginAdministrator(a))
            {
                Thread.Sleep(1500);
                Administrator currenAdministrator = AdministratorRepository.getAdministratorByEmail(a.email);
                Settings.Default.remindUser = currenAdministrator.Id;
                Settings.Default.currentTab = -1;
                Settings.Default.Save();

                Console.WriteLine("Login OK");


                Application.Current.Dispatcher.Invoke((Action) delegate
                {
                    MainWindow main = new MainWindow();
                    main.Show();

                    Application.Current.Windows[0]?.Close();
                });
            }
            else
            {
                MessageBox.Show("Incorrect email/password");

                //DialogOpen = true;

                Progress     = "HIDDEN";
                Opacity      = 1;
                PanelEnabled = true;
            }
        }