public void TestIsLoginFree2()
        {
            User        user1 = new User("Adam", "Nowak", "anowak", "Hasło1");
            User        user2 = new User("Maria", "Kowalska", "mkowalska", "Hasło2");
            List <User> list  = new List <User>();

            list.Add(user1);
            list.Add(user2);
            UserLocalDataBase uldb = new UserLocalDataBase();

            uldb.Add(user1);
            uldb.Add(user2);

            string login  = "******";
            bool   isFree = true;

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].login == login)
                {
                    isFree = false;
                }
            }

            bool result = uldb.IsLoginFree(login);

            Assert.AreEqual(isFree, result);
        }
        public void TestLogin3()
        {
            User        user1 = new User("Adam", "Nowak", "anowak", "Hasło1");
            User        user2 = new User("Maria", "Kowalska", "mkowalska", "Hasło2");
            List <User> list  = new List <User>();

            list.Add(user1);
            list.Add(user2);
            UserLocalDataBase uldb = new UserLocalDataBase();

            uldb.Add(user1);
            uldb.Add(user2);

            User   logged   = null;
            string login    = "******";
            string password = "******";

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].login == login)
                {
                    if (list[i].password == password)
                    {
                        logged = list[i];
                    }
                }
            }

            User result = uldb.login(login, password);

            Assert.AreEqual(logged, result);
        }
        public void TestReturnList1()
        {
            User        user1 = new User("Adam", "Nowak", "anowak", "Hasło1");
            User        user2 = new User("Maria", "Kowalska", "mkowalska", "Hasło2");
            List <User> list  = new List <User>();

            list.Add(user1);
            list.Add(user2);
            UserLocalDataBase uldb = new UserLocalDataBase();

            uldb.Add(user1);
            uldb.Add(user2);

            CollectionAssert.AreEqual(list, uldb.ReturnList());
        }
        public void TestAdd1()
        {
            User        user = new User("Adam", "Nowak", "anowak", "Hasło1");
            List <User> list = new List <User>();

            list.Add(user);
            UserLocalDataBase uldb = new UserLocalDataBase();

            uldb.Add(user);
            CollectionAssert.AreEqual(list, uldb.ReturnList());
        }
        public void TestChangePasswordTest1()
        {
            User        user1 = new User("Adam", "Nowak", "anowak", "Hasło1");
            User        user2 = new User("Maria", "Kowalska", "mkowalska", "Hasło2");
            List <User> list  = new List <User>();

            list.Add(user1);
            list.Add(user2);
            UserLocalDataBase uldb = new UserLocalDataBase();

            uldb.Add(user1);
            uldb.Add(user2);

            string login       = "******";
            string newPassword = "******";
            string changed     = "";

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].login == login)
                {
                    list[i].password = newPassword;
                    changed          = newPassword;
                }
            }

            string result = "";

            uldb.ChangePassword(login, newPassword);
            foreach (User u in uldb.ReturnList())
            {
                if (u.login == login)
                {
                    result = u.password;
                }
            }

            Assert.AreEqual(changed, result);
        }
        private void Button_Confirm_Click(object sender, RoutedEventArgs e)
        {
            if (RegClass.CheckPassword(Input_Password1.Password))
            {
                if (Input_Password1.Password != null && Input_Password1.Password == Input_Password2.Password && Input_Password1.Password.Length >= 4)
                {
                    if (user == null)
                    {
                        User admin = new User("admin", "admin", "admin", Input_Password1.Password);
                        UserLocalDataBase.Add(admin);
                        UserLocalDataBase.Save();
                        nextPage = new AdminPage();
                    }
                    else
                    {
                        UserLocalDataBase.ChangePassword(user.login, Input_Password1.Password);
                        UserLocalDataBase.Save();
                        user.pendingPasswordChage = false;
                        if (isAdmin)
                        {
                            nextPage = new AdminPage();
                        }
                        else
                        {
                            nextPage = new DoctorMenu();
                        }
                    }

                    NavigationService.Navigate(nextPage);
                }
                else if (Input_Password1.Password.Length < 4)
                {
                    Output_Error.Text = "Hasło musi mieć minimalną długość 4 znaków";
                }
                else
                {
                    Output_Error.Text = "Podane hasła nie zgadzają się";
                }
            }
            else
            {
                MessageBox.Show("Hasło musi zawierać :\nCo najmniej jedną małą literę \nCo najmniej jedną dużą literę \nCo najmniej jedną cyfrę\nDługość od 6 do 20 znaków");
            }
        }
        /// <summary>
        /// Metoda sprawdzająca poprawność wpisanych danych, oraz czy wprowadzony login jest unikatowy.
        /// </summary>
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (RegClass.CheckFirstName(Input_Name.Text) && RegClass.CheckLastName(Input_Surname.Text))
            {
                if (!UserLocalDataBase.IsLoginFree(Input_Login.Text))
                {
                    Output_Error.Text = "Login zajęty";
                    return;
                }
                if (Input_Name.Text != "" && Input_Surname.Text != "" && Input_Login.Text != "" && UserLocalDataBase.IsLoginFree(Input_Login.Text))
                {
                    User user = new User(Input_Name.Text, Input_Surname.Text, Input_Login.Text, "hasło");
                    UserLocalDataBase.Add(user);
                    UserLocalDataBase.ResetUserPassword(user.login);
                    UserLocalDataBase.Save();
                    foreach (Window window in Application.Current.Windows)
                    {
                        if (window.GetType() == typeof(MainWindow))
                        {
                            if ((window as MainWindow).Main.Content is AdminPage)
                            {
                                ((window as MainWindow).Main.Content as AdminPage).RefreshUsersView();
                            }
                        }
                    }

                    this.Close();
                }
                else
                {
                    Output_Error.Text = "Błąd wprowadzania danych";
                }
            }
            else
            {
                MessageBox.Show("Podano złe imię lub nazwisko");
            }
        }