public void BuidPage() { if (ApplicationContext.NodesSelected.Count > 0) { if (IsSelectSingleEndpoint()) { _view.PolicyEnhancementHeaderElement.Visibility = Visibility.Collapsed; _view.EndpointPolicyEnhancementHeaderElement.Visibility = Visibility.Visible; } else { _view.PolicyEnhancementHeaderElement.Visibility = Visibility.Visible; _view.EndpointPolicyEnhancementHeaderElement.Visibility = Visibility.Collapsed; } UpdateHeader(); _view.PnlPolicyContainer.Children.Clear(); //var selectedNode = ApplicationContext.NodesSelected[0]; var pocAgentList = new List <POCAgent>(); if (ApplicationContext.POCAgentList == null) { Functions.GetAllPolicies(); } if (ApplicationContext.FolderPolicyList == null) { Functions.LoadFolderPolicy(); } if (ApplicationContext.EndpointPolicyList == null) { Functions.LoadEndpointPolicy(); } //Display all policies foreach (var node in ApplicationContext.NodesSelected) { if (node.IsFolder) { var policyFolder = ApplicationContext.FolderPolicyList.FirstOrDefault(c => c.ObjectId == node.NodeId); if (policyFolder != null) { var pocAgentFolder = ApplicationContext.POCAgentList.FirstOrDefault(c => c.Id == policyFolder.PolicyAgentId); if (pocAgentFolder != null && !pocAgentList.Exists(c => c.Id == pocAgentFolder.Id)) { pocAgentList.Add(pocAgentFolder); } } } else { var policyEndpoint = ApplicationContext.EndpointPolicyList.FirstOrDefault(c => c.ObjectId == node.NodeId); if (policyEndpoint != null) { var pocAgentEndpoint = ApplicationContext.POCAgentList.FirstOrDefault(c => c.Id == policyEndpoint.PolicyAgentId); if (pocAgentEndpoint != null && !pocAgentList.Exists(c => c.Id == pocAgentEndpoint.Id)) { pocAgentList.Add(pocAgentEndpoint); } } } } //if (selectedNode.IsFolder) //{ // var directory = ApplicationContext.FolderListAll.Find(r => r.FolderId == selectedNode.NodeId); // var rootPolicy = ApplicationContext.FolderPolicyList.Find(r => r.ObjectId == selectedNode.NodeId); // if (rootPolicy != null) // { // var pocAgent = ApplicationContext.POCAgentList.Find(r => r.Id == rootPolicy.PolicyAgentId); // pocAgentList.Add(pocAgent); // } // FindChildPolicyAssign(directory, pocAgentList); //} //else //{ // var rootPolicy = ApplicationContext.EndpointPolicyList.Find(r => r.ObjectId == selectedNode.NodeId); // if (rootPolicy != null) // { // var pocAgent = ApplicationContext.POCAgentList.Find(r => r.Id == rootPolicy.PolicyAgentId); // pocAgentList.Add(pocAgent); // } //} foreach (var pocAgent in pocAgentList) { var policyEnhancement = new PolicyEnhancementElement(); policyEnhancement.Model.Id = pocAgent.Id; policyEnhancement.Model.Name = pocAgent.Name; policyEnhancement.Model.POCServer = pocAgent.POCServer; policyEnhancement.Model.Port = pocAgent.Port; policyEnhancement.Model.Key = pocAgent.Key; policyEnhancement.Model.NeighborhoodWatch = pocAgent.NeighborhoodWatch; policyEnhancement.Model.ActiveTransfer = pocAgent.ActiveTransfer; policyEnhancement.Model.TransferInterval = pocAgent.TransferInterval; policyEnhancement.Model.UpdateSource = pocAgent.UpdateSource; policyEnhancement.Model.SynchronizationInterval = pocAgent.SyncInterval; policyEnhancement.Model.ExpanderBackgroundColor = pocAgent.Color; _view.PnlPolicyContainer.Children.Add(policyEnhancement); } } }
public PolicyEnhancementViewModel(PolicyEnhancementElement view) { _view = view; }