예제 #1
0
 private void DeleteRole(RoleViewModel roleVM)
 {
     executor.StartBackgroundTask(
         () => { projectsServices.DeleteProjectRole(roleVM.Role.ProjectUId, roleVM.Role.RoleUId); },
         () => { OnProjectRoleDeleted(roleVM); });
 }
예제 #2
0
 private void OnProjectRoleDeleted(RoleViewModel deletedRole)
 {
     Project.Roles.Remove(deletedRole.Role);
     Roles.Remove(deletedRole);
     aggregator.Publish<ICollection<Role>>(ScrumFactoryEvent.ProjectRolesChanged, Project.Roles);
 }
예제 #3
0
        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);
        }