コード例 #1
0
        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;
                    }
                }
            }
        }
コード例 #2
0
        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);
            }
        }