コード例 #1
0
 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());
 }
コード例 #2
0
 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(
             "Возникла ошибка при получении списка пользователей. Обратитесь к вашему системному администратору.", "Опс, ошибка!");
     }
 }
コード例 #3
0
 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("Произошла ошибка авторизации пользователя. Обратитесь к вашему системному администратору.", "Опс, ошибка!");
     }
 }
コード例 #4
0
 private Users GetAdmin(MedDBModelContainer CurentContext)
 {
     return(new Users()
     {
         IsDismissed = false,
         FirstName = "Администратор",
         LastName = "Администратор",
         MiddleName = "Администратор",
         PhoneNumber = "+71231231212",
         Role = GetRole("Администратор", CurentContext),
         Password = ""
     });
 }