/// <summary> /// 角色角色视图列表。 /// </summary> private void ExecuteLoadRolesCommand() { // 使用AutoMapper实现实体间的映射 Mapper.CreateMap <RoleViewModel, Role>(); Mapper.CreateMap <Role, RoleViewModel>(); // 获取所有Roles。 var roles = _roleDataAccessor.GetAll(); roles.ForEach(role => { // 忽略系统管理员角色 if (role.IsAdminRole()) { return; } // 为每一个Role创建一个RoleViewModel,用于界面绑定显示 var roleViewModel = new RoleViewModel(); Mapper.Map <Role, RoleViewModel>(role, roleViewModel); RoleViewModels.Add(roleViewModel); // 跟踪角色视图的属性变更,一旦发生变更则同步数据库 roleViewModel.BeginSyncToDatabase(); } ); if (RoleViewModels.Count > 0) // 默认选中第一个 { CurrentRoleViewModel = RoleViewModels[0]; } // 监听列表集合事件,并同步数据库 RoleViewModels.CollectionChanged += RoleViewModelsCollectionChanged; UpdateTotals(RoleViewModels.Count); }