private void LoadUsers() { //查询Role信息 _roleDataAccessor.GetAll().ForEach(role => { // 忽略系统管理员角色 if (role.IsAdminRole()) { return; } Roles.Add(role); }); //从持久层获取已经保持的数据 _userDataAccessor.GetAll().ForEach(user => { // 忽略系统管理员用户 if (user.IsAdminUser()) { return; } //构造ViewModel var userViewModel = new UserViewModel(); //从Entity映射ViewModel UserViewModels.Add(Mapper.Map <User, UserViewModel>(user, userViewModel)); }); if (UserViewModels.Count > 0) { CurrentUserViewModel = UserViewModels[0]; //缓存的用户还没有Role信息,只有RoleId,为了正确在View展示Role Name,需要这里做一次处理。 var pendingUsers = UserViewModels.Where(item => item.RoleId != Guid.Empty && item.Role == null); foreach (var userViewModel in pendingUsers) { //重新绑定Role userViewModel.Role = Roles.FirstOrDefault(item => item.Id == userViewModel.RoleId); if (userViewModel.Role != null) { userViewModel.RoleId = userViewModel.Role.Id; } } } }
private void AddUser() { try { var viewModel = new UserViewModel(new User()); Messenger.Default.Send(new OpenWindowMessage() { DataContext = viewModel }, Tokens.OpenUserView); if (viewModel.ViewModelAttachment.LastOperationSuccess && viewModel.DepartmentInfo.DepartmentID == SelectedDepartmentId) { UserViewModels.Add(new UserViewModel(viewModel.ViewModelAttachment.CoreModel)); CurrentDepartmentUsers.Add(viewModel.ViewModelAttachment.CoreModel); } } catch (Exception ex) { Log.Error(ex); } }