private void DeleteRole(RoleViewModel roleVM) { executor.StartBackgroundTask( () => { projectsServices.DeleteProjectRole(roleVM.Role.ProjectUId, roleVM.Role.RoleUId); }, () => { OnProjectRoleDeleted(roleVM); }); }
private void OnProjectRoleDeleted(RoleViewModel deletedRole) { Project.Roles.Remove(deletedRole.Role); Roles.Remove(deletedRole); aggregator.Publish<ICollection<Role>>(ScrumFactoryEvent.ProjectRolesChanged, Project.Roles); }
private void AddNewRole() { Role newRole = new Role() { ProjectUId = Project.ProjectUId, RoleUId = Guid.NewGuid().ToString(), RoleName = Properties.Resources.New_role_name, RoleShortName = Properties.Resources.New_role_short_name, PermissionSet = (short)PermissionSets.TEAM, IsPlanned = true }; executor.StartBackgroundTask( () => { projectsServices.UpdateProjectRole(SelectedRole.Role.ProjectUId, newRole.RoleUId, newRole);}, () => { Project.Roles.Add(newRole); RoleViewModel roleVm = new RoleViewModel(newRole); Roles.Add(roleVm); SelectedRole = roleVm; roleVm.NotifyAdded(); }); aggregator.Publish<ICollection<Role>>(ScrumFactoryEvent.ProjectRolesChanged, Project.Roles); }