Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/05/18 15:10:38 (6 years ago)
Author:
jzenisek
Message:

#2839 worked on client side mgmt of project-resource assignments and project-user permissions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs

    r15567 r15576  
    9797    }
    9898
    99     private void inheritButton_Click(object sender, EventArgs e) {
    100       return;
    101       SetAssignedProjectResources(Content.Id, Enumerable.Empty<Guid>());
    102       UpdateAssignedResources();
    103       UpdateResourceGenealogy();
    104       var top = BuildResourceTree(HiveAdminClient.Instance.Resources);
    105       detailsViewHost.Content = top;
     99    private async void inheritButton_Click(object sender, EventArgs e) {
     100      await SecurityExceptionUtil.TryAsyncAndReportSecurityExceptions(
     101        action: () => {
     102          SetAssignedProjectResources(Content.Id, newAssignedResources.Select(x => x.Id), false, true);
     103        });
     104      UpdateResourceTree();
    106105    }
    107106
     
    109108      await SecurityExceptionUtil.TryAsyncAndReportSecurityExceptions(
    110109        action: () => {
    111           SetAssignedProjectResources(Content.Id, newAssignedResources.Select(x => x.Id));
     110          SetAssignedProjectResources(Content.Id, newAssignedResources.Select(x => x.Id), false, false);
    112111        });
    113112      UpdateResourceTree();
     
    132131      }
    133132
    134       UpdateNewAssignedResources();
    135       UpdateNewInheritedResources();
    136       var top = BuildResourceTree(HiveAdminClient.Instance.Resources);
    137       detailsViewHost.Content = top;
     133      UpdateNewResourceTree();
    138134    }
    139135    #endregion
    140136
    141137    #region Helpers
    142 
    143     //private void DisableResourceTree(TreeNode node) {
    144     //  foreach(var n in node.Nodes) {
    145 
    146     //  }
    147     //}
    148138
    149139    private void UpdateResourceTree() {
     
    154144    }
    155145
     146    private void UpdateNewResourceTree() {
     147      UpdateNewAssignedResources();
     148      UpdateNewInheritedResources();
     149      var top = BuildResourceTree(HiveAdminClient.Instance.Resources);
     150      detailsViewHost.Content = top;
     151    }
     152
    156153    private static IEnumerable<Resource> GetAssignedResourcesForProject(Guid projectId) {
    157154      var assignedProjectResources = HiveServiceLocator.Instance.CallHiveService(s => s.GetAssignedResourcesForProject(projectId));
     
    159156    }
    160157
    161     private void SetAssignedProjectResources(Guid projectId, IEnumerable<Guid> resourceIds) {
     158    private void SetAssignedProjectResources(Guid projectId, IEnumerable<Guid> resourceIds, bool reassign, bool cascading) {
     159      if (projectId == null || resourceIds == null) return;
    162160      HiveServiceLocator.Instance.CallHiveService(s => {
    163         var currentlyAssignedResources = s.GetAssignedResourcesForProject(projectId);
    164         s.UnassignProjectResources(projectId, currentlyAssignedResources.Select(x => x.ResourceId).ToList());
    165         s.AssignProjectResources(projectId, resourceIds.ToList());
     161       s.SaveProjectResourceAssignments(projectId, resourceIds.ToList(), reassign, cascading, true);
    166162      });
    167163    }
     
    295291          newNode.BackColor = addedIncludeColor;
    296292          newNode.ForeColor = SystemColors.GrayText;
    297           newNode.Text += " [+included]";
     293          newNode.Text += " [added include]";
    298294        } else if (removedIncludes.Contains(newResource)) {
    299295          newNode.BackColor = removedIncludeColor;
    300           newNode.Text += " [-included]";
     296          newNode.Text += " [removed include]";
    301297        }
    302298
     
    304300          newNode.BackColor = addedAssignmentColor;
    305301          newNode.ForeColor = SystemColors.ControlText;
    306           newNode.Text += " [added]";
     302          newNode.Text += " [added assignment]";
    307303        } else if (removedAssignments.Contains(newResource)) {
    308304          newNode.BackColor = removedAssignmentColor;
    309305          newNode.ForeColor = SystemColors.ControlText;
    310           newNode.Text += " [removed]";
     306          newNode.Text += " [removed assignment]";
    311307        }
    312308
Note: See TracChangeset for help on using the changeset viewer.