コード例 #1
0
 public ControlPage()
 {
     InitializeComponent();
     Data.ReadUsersData();
     Data.ReadGenresData();
     RefreshListBoxUsers();
     RefreshListBoxGenres();
 }
コード例 #2
0
 private void UpdateOtherUsers()
 {
     otherUsers = new List <User>();
     Data.ReadUsersData();
     foreach (User user in Data.Users)
     {
         if (Data.LoggedUser == null || user.Username != Data.LoggedUser.Username)
         {
             otherUsers.Add(user);
         }
     }
 }
コード例 #3
0
 private void buttonChangeUser_Click(object sender, RoutedEventArgs e)
 {
     if (listBoxUsers.SelectedIndex != -1)
     {
         Data.ReadUsersData();
         User selectedUser      = (User)listBoxUsers.SelectedItem;
         int  selectedListIndex = Data.Users.FindIndex(user => user.Username == selectedUser.Username);
         Data.Users[selectedListIndex].IsAdmin = !Data.Users[selectedListIndex].IsAdmin;
         Data.UpdateUsersData();
         RefreshListBoxUsers();
         Logger.Log($"\"{Data.LoggedUser.Username}\" изменил права пользователя {selectedUser.Username}\" на \"{(Data.Users[selectedListIndex].IsAdmin ? "Администратор" : "Обычный пользователь")}\"");
     }
 }
コード例 #4
0
        private void buttonLogin_Click(object sender, RoutedEventArgs e)
        {
            UsernameAlertOff();
            PasswordAlertOff();
            string username = textBoxUsername.Text;

            if (!string.IsNullOrWhiteSpace(username))
            {
                string password = CalculateHash(passwordBox.Password);
                if (!string.IsNullOrWhiteSpace(passwordBox.Password))
                {
                    bool isFound = false;
                    Data.ReadUsersData();
                    foreach (User user in Data.Users)
                    {
                        if (user.Username == username)
                        {
                            isFound = true;
                            if (user.Password == password)
                            {
                                Pages.ChangeFrameSize(500, 750);
                                Data.LoggedUser = user;
                                Logger.Log($"Успешный вход пользователя: \"{username}\" ({(user.IsAdmin ? "администратор" : "обычный пользователь")})");
                                if (user.IsAdmin)
                                {
                                    Pages.MainPageAsAdmin.UpdateSearchState();
                                    NavigationService.Navigate(Pages.MainPageAsAdmin);
                                }
                                else
                                {
                                    Pages.MainPageAsUser.UpdateSearchState();
                                    NavigationService.Navigate(Pages.MainPageAsUser);
                                }
                                textBoxUsername.Text = "";
                            }
                            else
                            {
                                passwordBox.Password = "";
                                PasswordAlertOn();
                                MessageBox.Show("Неверный пароль", "Ошибка!");
                                passwordBox.Focus();
                            }
                        }
                    }
                    if (!isFound)
                    {
                        UsernameAlertOn();
                        MessageBox.Show("Пользователя с таким логином не существует", "Ошибка!");
                        textBoxUsername.Focus();
                    }
                    else
                    {
                        isFound = false;
                    }
                }
                else
                {
                    PasswordAlertOn();
                    MessageBox.Show("Необходимо ввести пароль", "Ошибка!");
                    passwordBox.Focus();
                }
            }
            else
            {
                UsernameAlertOn();
                MessageBox.Show("Необходимо ввести логин", "Ошибка!");
                textBoxUsername.Focus();
            }
        }
コード例 #5
0
        private void buttonSignUp_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBoxUsername.Text))
            {
                MessageBox.Show("Необходимо ввести логин", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (!Data.checkUsernameValidity(textBoxUsername.Text))
            {
                MessageBox.Show("Использованы запрещенные символы. Разрешены: латинские символы, цифры и нижнее подчёркивание", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (!Data.checkIfUsernameIsUsed(textBoxUsername.Text))
            {
                MessageBox.Show("Данный логин занят. Необходимо использовать другой логин", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(textBoxName.Text))
            {
                MessageBox.Show("Необходимо ввести имя", "Ошибка!");
                textBoxName.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(textBoxSurname.Text))
            {
                MessageBox.Show("Необходимо ввести фамилию", "Ошибка!");
                textBoxSurname.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(passwordBox.Password))
            {
                MessageBox.Show("Необходимо ввести пароль", "Ошибка!");
                passwordBox.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(passwordBoxRepeat.Password))
            {
                MessageBox.Show("Необходимо повторно ввести пароль", "Ошибка!");
                passwordBoxRepeat.Focus();
                return;
            }
            else if (passwordBox.Password != passwordBoxRepeat.Password)
            {
                MessageBox.Show("Введенные пароли не совпадают", "Ошибка!");
                return;
            }

            Data.ReadUsersData();
            int usersCount = Data.Users.Count;

            if (usersCount == 0)
            {
                Data.Users.Add(new User(textBoxUsername.Text, textBoxName.Text, textBoxSurname.Text, passwordBox.Password, true));
                MessageBox.Show($"{textBoxName.Text}, вы были успешно зарегистрированы в системе, как \"{textBoxUsername.Text}\".\nТак как вы являетесь первым пользователем, вам предоставлены права администратора.", "Успешно!");
            }
            else
            {
                Data.Users.Add(new User(textBoxUsername.Text, textBoxName.Text, textBoxSurname.Text, passwordBox.Password));
                MessageBox.Show($"{textBoxName.Text}, вы были успешно зарегистрированы в системе, как \"{textBoxUsername.Text}\"", "Успешно!");
            }

            Data.LoggedUser = Data.Users.LastOrDefault();
            Data.UpdateUsersData();
            Pages.ChangeFrameSize(500, 750);
            Pages.MainPageAsUser.UpdateSearchState();
            Logger.Log($"Регистрация и вход пользователя: \"{textBoxUsername.Text}\"");
            if (Data.LoggedUser != null && Data.LoggedUser.IsAdmin)
            {
                NavigationService.Navigate(Pages.MainPageAsAdmin);
            }
            if (Data.LoggedUser != null && !Data.LoggedUser.IsAdmin)
            {
                NavigationService.Navigate(Pages.MainPageAsUser);
            }
        }