private void button1_Click(object sender, EventArgs e) { // Флаг нахождения такого логина в базе bool LoginRight = false; var NeededUser = new User(); // Сверяем с данными из БД using (var context = new MyDbContext()) { var UserFind = context.Users.ToList(); foreach (User userF in UserFind) { // Если встречаем такой логин в базе, то сверяем пароль if (userF.Login.Equals(LoginText.Text)) { LoginRight = true; NeededUser = userF; } } if (!LoginRight) { MessageBox.Show("Неверный логин."); } else { if (PasswordText.Text == NeededUser.Password) { if (NeededUser.Type == "admin") { // Переход на форму админа MainPage_AdminLogged mainFormAdmin = new MainPage_AdminLogged(NeededUser); mainFormAdmin.Show(); } else { // Переход на форму для авторизованного пользователя MainPage_UserLogged mainFormUser = new MainPage_UserLogged(NeededUser); int a = NeededUser.Id; mainFormUser.Show(); this.Hide(); // Скрываем эту форму } } else { MessageBox.Show("Неверный пароль."); } } } // Окно входа скрывается по завершению работы с ней }
private void buttonRegistration_Click(object sender, EventArgs e) { bool LoginRight = false; // Флаг для проверки уникальности Login bool PasswordMatch = false; // Флаг для проверки совпадения паролей LoginRight = false; PasswordMatch = false; // Проверка на совпадение двух паролей if (PasswordText.Text == RePasswordText.Text) { PasswordMatch = true; } else { MessageBox.Show("Пароли не совпадают,\nвведите заново"); } // Поиск в базе пользователя с таким же Login (Этот параметр должен быть уникальным для каждого пользователя) bool ExistUsers = false; using (var context = new MyDbContext()) { var UserFind = context.Users.ToList(); foreach (User userF in UserFind) { ExistUsers = true; // Если встречаем такой логин в базе, то сразу выходим из цикла if (userF.Login.Equals(LoginText.Text)) { LoginRight = false; break; } else { LoginRight = true; } } } // Различаем обычного пользователся от админа bool FlagContinue = false; string PasswordAdmin = "1111"; bool FlagAdminPassword = false; if (PasswordForAdmin.Text != "" && PasswordForAdmin.Text != PasswordAdmin) { MessageBox.Show("Неверный пароль\nдля администратора"); FlagContinue = false; } else { FlagContinue = true; } if (PasswordForAdmin.Text == PasswordAdmin) { FlagContinue = true; FlagAdminPassword = true; } // Если пользователей в базе пока нет, то первый зарегистрировавшийся может выбрать любой логин if (!ExistUsers) { LoginRight = true; } if (LoginRight == false) { MessageBox.Show("Данный логин уже занят,\nзамените его"); } if (LoginRight && PasswordMatch && FlagContinue) { User CurrUser; using (var context = new MyDbContext()) { User user1 = new User(); UserProfile profile1 = new UserProfile(); user1.Login = LoginText.Text; user1.Password = PasswordText.Text; profile1.UserName = NameText.Text; profile1.PhoneNumber = NumberText.Text; if (FlagAdminPassword) { user1.Type = "admin"; } context.Users.Add(user1); context.UserProfiles.Add(profile1); context.SaveChanges(); CurrUser = user1; } if (!FlagAdminPassword) { // Переход на форму для авторизованного пользователя this.Hide(); MainPage_UserLogged mainFormUser = new MainPage_UserLogged(CurrUser); mainFormUser.Show(); } else { // Переход на форму для админа this.Hide(); MainPage_AdminLogged mainFormAdmin = new MainPage_AdminLogged(CurrUser); mainFormAdmin.Show(); } } }