public ControlPage() { InitializeComponent(); Data.ReadUsersData(); Data.ReadGenresData(); RefreshListBoxUsers(); RefreshListBoxGenres(); }
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); } } }
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 ? "Администратор" : "Обычный пользователь")}\""); } }
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(); } }
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); } }