private void LoadUsers() { try { using (var CurentContext = new MedDBModelContainer()) { var users = CurentContext.UsersSet.ToList(); if (!users.Any()) { var default_user = GetAdmin(CurentContext); CurentContext.UsersSet.Add(default_user); CurentContext.SaveChanges(); ExLog.Info("В настройках пользователей программы не обнаружено ни одного пользователя. Создан пользователь по умолчанию `Администратор`"); } else { tbLogin.ItemsSource = CurentContext.UsersSet.ToList(); tbLogin.SelectedValue = "UserID"; tbLogin.DisplayMemberPath = "FirstName"; } } } catch (Exception ex) { ExLog.Error(ex.Message, ex); MessageBox.Show( "Возникла ошибка при получении списка пользователей. Обратитесь к вашему системному администратору.", "Опс, ошибка!"); } }
private Role GetRole(string rolename, MedDBModelContainer CurentContext) { try { var Roles = CurentContext.RoleSet.ToList(); if (Roles.Any()) { return(CurentContext.RoleSet.Single(x => x.RoleName.Equals(rolename))); } else { var DefaultRole = new Role() { RoleName = "Администратор", AllowAddUsers = true, AllowDeleteClients = true, AllowDeleteVisits = true }; CurentContext.RoleSet.Add(DefaultRole); CurentContext.SaveChanges(); return(DefaultRole); } } catch (Exception ex) { ExLog.Error(ex.Message, ex); MessageBox.Show("Ошибка получения ролей.", "Опс, ошибка!"); } return(new Role()); }
private void Button_Click(object sender, RoutedEventArgs e) { try { using (var CurentContext = new MedDBModelContainer()) { if (tbLogin.Text == "") { return; } var CurentUser = CurentContext.UsersSet.Single(x => x.FirstName.Equals(tbLogin.Text)); if (VerifyHashedPassword(CurentUser.Password, tbPassword.Password)) { //АВТОРИЗАЦИЯ УСПЕШНА this.Hide(); var ManagerForm = new ManagerForm(); ManagerForm.Show(); } else { MessageBox.Show("Неверный пароль, попробуйте пожалуйста еще раз.", "Ошибка авторизации"); } } } catch (Exception ex) { ExLog.Error(ex.Message, ex); MessageBox.Show("Произошла ошибка авторизации пользователя. Обратитесь к вашему системному администратору.", "Опс, ошибка!"); } }