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 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( "Возникла ошибка при получении списка пользователей. Обратитесь к вашему системному администратору.", "Опс, ошибка!"); } }