// Кнопка авторизации private void authorizeButton_Click(object sender, EventArgs e) { string pass = passwordTextBox.Text; string login = loginTextBox.Text; // Первый пользователь - всегда будет админом if(!database.Users.Any()) { var user = new User { UserName = login, Password = pass, UserInformation = "", IsAdmin = true }; database.Users.Add(user); database.SaveChanges(); var thisUser = database.Users.Where(x => x.Password == pass && x.UserName == login).First(); // И откроем ему панель администратора MainAdminWindow maw = new MainAdminWindow(thisUser); maw.Show(); // А это окно - закроем this.Hide(); } else { var u = database.Users.ToList(); // Проверим, есть ли уже такой пользователь if(database.Users.Where(x=>x.Password==pass && x.UserName==login).Count()==1) { var user = database.Users.Where(x => x.Password == pass && x.UserName == login).First(); // Если это админ - то открываем админское окно if(user.IsAdmin) { // И откроем ему панель администратора MainAdminWindow maw = new MainAdminWindow(user); maw.Show(); // А это окно - закроем this.Hide(); return; } // если есть такой пользователь - то пропускаем его в окно клиента MainClientWindow mcw = new MainClientWindow(user); mcw.Show(); this.Hide(); } else { // Иначе говорим, что такого нет и просим зарегистрироваться MessageBox.Show("Такой пользователь отсутствует, пожалуйста, зарегистрируйтесь!"); } } }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.User_win = ((Shop.User)(target)); return; case 2: this.Logout = ((System.Windows.Controls.Button)(target)); return; case 3: this.OrdersLB = ((System.Windows.Controls.ListBox)(target)); return; case 4: this.Logout_Copy = ((System.Windows.Controls.Button)(target)); return; case 5: this.UserAvatar = ((System.Windows.Controls.Image)(target)); return; case 6: this.UserName = ((System.Windows.Controls.Label)(target)); return; case 7: this.OrdersL = ((System.Windows.Controls.Label)(target)); return; } this._contentLoaded = true; }
public MainClientWindow(User user) { InitializeComponent(); // Инциализируем переменные this.User = user; this.Text = "Здравствуйте, "+user.UserName+"!"; database = new Model(); Orders = new List<Order>(); userInfoTextBox.Text = user.UserInformation; // Делаем таблицы недоступными для редактирования извне bucketGrid.ReadOnly = true; productGrid.ReadOnly = true; purchaseGrid.ReadOnly = true; }
public MainAdminWindow(User user) { InitializeComponent(); database = new Model(); User = user; UpdateInfo(); this.Text += " " + user.UserName; // Таблицы только для чтения productGrid.ReadOnly = true; usersGrid.ReadOnly = true; purchaseGrid.ReadOnly = true; }
// Если пользователь не существует - создается новый пользователь(регистрация) private void registrationButton_Click(object sender, EventArgs e) { string pass = passwordTextBox.Text; string login = loginTextBox.Text; // проверим на правильный ввод if(pass=="" || login=="") { MessageBox.Show("Поле не может быть пустым!"); return; } // Не сущетсвует ли уже такой же пользователь? if(database.Users.Where(x=>x.UserName == login).Any()) { MessageBox.Show("Такой пользователь уже существует!"); return; } var user = new User { UserName = login, Password = pass, UserInformation = "" }; database.Users.Add(user); database.SaveChanges(); MessageBox.Show("Успешная регистрация!"); // И откроем ему окно пользователя user = database.Users.Where(x => x.Password == pass && x.UserName == login).First(); MainClientWindow mcw = new MainClientWindow(user); mcw.Show(); // А это окно - закроем this.Hide(); }