コード例 #1
0
        public void Refresh()

        {
            ResultNodes.Clear();

            int nodeCounter = 0;

            this.Entries = (this.ScopeNode as VMDirSchemaAttributeBaseNode).Attributes;

            foreach (var item in this.Entries)

            {
                var resultNode = new ResultNode {
                    DisplayName = item.DisplayName
                };

                resultNode.ImageIndex = (int)VMDirSchemaTreeImageIndex.Attribute;

                resultNode.Tag = nodeCounter++;

                resultNode.SubItemDisplayNames.Add(item.attrType.Type);

                resultNode.SubItemDisplayNames.Add(item.attrType.Description);



                this.ResultNodes.Add(resultNode);
            }

            this.Sort(0);

            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #2
0
        public override void Refresh()
        {
            ResultNodes.Clear();

            var entriesNode = this.ScopeNode as VecsStoreEntriesNode;
            var dto         = entriesNode.ServerDTO;
            var storeName   = entriesNode.StoreName;
            var storePass   = "";

            MMCActionHelper.CheckedExec(delegate()
            {
                using (var session = new VecsStoreSession(dto.VecsClient, storeName, storePass))
                {
                    var lst = session.GetSecretKeys();
                    if (lst == null)
                    {
                        return;
                    }

                    foreach (var certDTO in lst)
                    {
                        var resultNode = new ResultNode {
                            DisplayName = certDTO.Alias
                        };
                        resultNode.ImageIndex = (int)VMCertStoreImageIndex.SecretKeys;
                        resultNode.Tag        = certDTO;
                        this.ResultNodes.Add(resultNode);
                    }
                }
            });
            this.Sort(0);
            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #3
0
ファイル: DNSRecordListView.cs プロジェクト: wfu8/lightwave
        public void Refresh()

        {
            ResultNodes.Clear();

            int nodeCounter = 0;

            this.Entries = (this.ScopeNode as VMDNSZoneEntryNode).CurrentZone.ListRecords();

            foreach (var record in this.Entries)

            {
                var resultNode = new ResultNode {
                    DisplayName = record.Name
                };

                resultNode.ImageIndex = (int)VMDNSTreeImageIndex.Record;

                resultNode.Tag = nodeCounter++;

                resultNode.SubItemDisplayNames.Add(VMDNSUtilityService.GetRecordNameFromType((RecordType)record.Type));



                this.ResultNodes.Add(resultNode);
            }

            this.Sort(0);

            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #4
0
        public void Refresh()

        {
            ResultNodes.Clear();

            int nodeCounter = 0;

            this.Entries = this.ScopeNode.Children.OfType <VMDirSchemaClassEntryNode>().ToList();

            foreach (var item in this.Entries)

            {
                var resultNode = new ResultNode {
                    DisplayName = item.DisplayName
                };

                resultNode.ImageIndex = (int)VMDirSchemaTreeImageIndex.ObjectClass;

                resultNode.Tag = nodeCounter++;

                resultNode.SubItemDisplayNames.Add(item.ObjectClassDto.GetObjectClassTypeAsString());

                resultNode.SubItemDisplayNames.Add(item.ObjectClassDto.Description);



                this.ResultNodes.Add(resultNode);
            }

            this.Sort(0);

            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #5
0
 /// <summary>
 /// Loads the list view with data.
 /// </summary>
 public void Refresh()
 {
     //+ Clear existing information.
     ResultNodes.Clear();
     //+ Use fictitious data to populate the lists.
     string[][] users =
     {
         new string[] { "Karen", "February 14th" },
         new string[] { "Sue",   "May 5th"       },
         new string[] { "Tina",  "April 15th"    },
         new string[] { "Lisa",  "March 27th"    },
         new string[] { "Tom",   "December 25th" },
         new string[] { "John",  "January 1st"   },
         new string[] { "Harry", "October 31st"  },
         new string[] { "Bob",   "July 4th"      }
     };
     //+ Populate the list.
     foreach (string[] user in users)
     {
         ResultNode node = new ResultNode();
         node.DisplayName = user[0];
         node.SubItemDisplayNames.Add(user[1]);
         ResultNodes.Add(node);
     }
 }
コード例 #6
0
        void Refresh()
        {
            this.ResultNodes.Clear();

            // Retrieve data to populate the list with.
            ManagementObjectSearcher   searcher = new ManagementObjectSearcher("select * from Win32_service");
            ManagementObjectCollection results  = searcher.Get();

            // Populate the list.
            foreach (ManagementObject result in results)
            {
                ResultNode node = new ResultNode();
                node.DisplayName = (string)result.GetPropertyValue("DisplayName");

                string description = (string)result.GetPropertyValue("Description");
                string state       = (string)result.GetPropertyValue("State");
                string startMode   = (string)result.GetPropertyValue("StartMode");
                string startName   = (string)result.GetPropertyValue("StartName");

                description = (description == null) ? String.Empty : description;
                state       = (state == null) ? String.Empty : state;
                startMode   = (startMode == null) ? String.Empty : startMode;
                startName   = (startName == null) ? String.Empty : startName;

                node.SubItemDisplayNames.AddRange(new string[]
                                                  { description,
                                                    state,
                                                    startMode,
                                                    startName });

                ResultNodes.Add(node);
            }
        }
コード例 #7
0
        void RevokeCertificate()
        {
            MMCActionHelper.CheckedExec(delegate()
            {
                var cert      = this.SelectedNodes[0].Tag as X509Certificate2;
                var serverDTO = (ScopeNode.Parent as VMCAServerNode).ServerDTO;
                var vmcaCert  = new VMCACertificate(serverDTO.VMCAClient, cert);
                vmcaCert.Revoke();
                ResultNodes.Remove(this.SelectedNodes[0] as ResultNode);
            });
            RefreshList();
            var parent = this.ScopeNode.Parent as VMCAServerNode;

            if (parent != null)
            {
                foreach (var node in parent.Children)
                {
                    var certNode = node as VMCACertsNode;
                    if (certNode != null && (CertificateState)certNode.Tag == CertificateState.Revoked)
                    {
                        certNode.DoRefresh();
                    }
                }
            }
        }
コード例 #8
0
 /// <summary>
 /// UpdateNodes method implementation
 /// </summary>
 private void DeleteNodes(MMCRegistrationList registrations)
 {
     this.SelectionData.BeginUpdates();
     try
     {
         List <ResultNode> nds = new List <ResultNode>();
         RemoteAdminService.DeleteUser(registrations);
         foreach (MMCRegistration reg in registrations)
         {
             foreach (ResultNode res in this.ResultNodes)
             {
                 MMCRegistration xres = res;
                 if (reg.ID == xres.ID)
                 {
                     nds.Add(res);
                 }
             }
         }
         foreach (ResultNode res in nds)
         {
             ResultNodes.Remove(res);
         }
     }
     finally
     {
         this.SelectionData.EndUpdates();
     }
 }
コード例 #9
0
ファイル: ZoneDetailsListview.cs プロジェクト: wfu8/lightwave
        public void Refresh()

        {
            ResultNodes.Clear();

            int nodeCounter = 0;

            this.Entries = this.ScopeNode.Children.OfType <VMDNSZoneEntryNode>().ToList();

            foreach (var item in this.Entries)

            {
                var resultNode = new ResultNode {
                    DisplayName = item.CurrentZone.Name
                };

                resultNode.ImageIndex = (int)VMDNSTreeImageIndex.Zone;

                resultNode.Tag = nodeCounter++;

                resultNode.SubItemDisplayNames.Add(item.CurrentZone.DNSName);

                resultNode.SubItemDisplayNames.Add(item.CurrentZone.AdminEmail);



                this.ResultNodes.Add(resultNode);
            }

            this.Sort(0);

            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #10
0
 void RevokeCertificate()
 {
     MMCActionHelper.CheckedExec(delegate()
     {
         var cert      = this.SelectedNodes[0].Tag as X509Certificate2;
         var serverDTO = (ScopeNode.Parent as VMCAServerNode).ServerDTO;
         var vmcaCert  = new VMCACertificate(serverDTO.VMCAClient, cert);
         vmcaCert.Revoke();
         ResultNodes.Remove(this.SelectedNodes[0] as ResultNode);
     });
 }
コード例 #11
0
        public void Refresh()

        {
            ResultNodes.Clear();

            int nodeCounter = 0;



            List <AttributeTypeDTO> required = ClassNode.ServerNode.ServerDTO.Connection.SchemaManager.GetRequiredAttributes(ClassNode.DisplayName);

            required.ForEach(x => x.IsOptional = false);

            List <AttributeTypeDTO> optional = ClassNode.ServerNode.ServerDTO.Connection.SchemaManager.GetOptionalAttributes(ClassNode.DisplayName);

            optional.ForEach(x => x.IsOptional = true);

            Entries = required;

            Entries.AddRange(optional);



            foreach (var item in Entries)

            {
                var resultNode = new ResultNode {
                    DisplayName = item.Name
                };

                resultNode.ImageIndex = (int)VMDirSchemaTreeImageIndex.Attribute;

                resultNode.Tag = nodeCounter++;

                resultNode.SubItemDisplayNames.Add(Convert.ToString(item.IsOptional));

                resultNode.SubItemDisplayNames.Add(item.Type);



                this.ResultNodes.Add(resultNode);
            }

            this.Sort(0);

            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #12
0
        public override void Refresh()
        {
            ResultNodes.Clear();

            var entriesNode = this.ScopeNode as VecsStoreEntriesNode;
            var dto         = entriesNode.ServerDTO;
            var storeName   = entriesNode.StoreName;
            var storePass   = "";

            MMCActionHelper.CheckedExec(delegate()
            {
                using (var session = new VecsStoreSession(dto.VecsClient, storeName, storePass))
                {
                    var lst = session.GetCertificates();
                    if (lst == null)
                    {
                        return;
                    }

                    foreach (var certDTO in lst)
                    {
                        var resultNode = new ResultNode {
                            DisplayName = certDTO.Alias
                        };
                        resultNode.ImageIndex = (int)VMCertStoreImageIndex.TrustedCert;
                        if (certDTO.Cert != null)
                        {
                            resultNode.SubItemDisplayNames.Add(certDTO.Cert.Subject);
                            resultNode.SubItemDisplayNames.Add(certDTO.Cert.Issuer);
                            resultNode.SubItemDisplayNames.Add(certDTO.Cert.NotBefore.ToShortDateString());
                            resultNode.SubItemDisplayNames.Add(certDTO.Cert.NotAfter.ToShortDateString());
                            resultNode.SubItemDisplayNames.Add(certDTO.Cert.GetKeyUsage());
                            resultNode.Tag = certDTO;
                        }

                        this.ResultNodes.Add(resultNode);
                    }
                }
            });
            this.Sort(0);
            this.DescriptionBarText = this.ResultNodes.Count.ToString();
        }
コード例 #13
0
        void FillNodes(IEnumerable <CertificateDto> certs)
        {
            ResultNodes.Clear();

            foreach (var cert in certs)
            {
                var x509Cert   = new X509Certificate2(Encoding.ASCII.GetBytes(cert.Encoded));
                var resultNode = new ResultNode {
                    DisplayName = x509Cert.Subject
                };
                resultNode.SubItemDisplayNames.Add(cert.Chain);
                resultNode.SubItemDisplayNames.Add(cert.IsSigner.ToString());
                resultNode.SubItemDisplayNames.Add(x509Cert.Issuer);
                resultNode.SubItemDisplayNames.Add(x509Cert.NotBefore.ToShortDateString());
                resultNode.SubItemDisplayNames.Add(x509Cert.NotAfter.ToShortDateString());
                resultNode.SubItemDisplayNames.Add(x509Cert.GetKeyUsage());
                resultNode.Tag = x509Cert;
                ResultNodes.Add(resultNode);
            }
        }
コード例 #14
0
        /// <summary>
        /// Fills list view
        /// </summary>
        void FillListView()
        {
            ResultNodes.Clear();

            if (DataSource != null)
            {
                foreach (var dto in DataSource)
                {
                    var resultNode = new ResultNode {
                        DisplayName = dto.ServiceName
                    };
                    resultNode.SubItemDisplayNames.Add(dto.Description);
                    resultNode.SubItemDisplayNames.Add(dto.Port.ToString());
                    var status = dto.Alive ? Constants.Active : Constants.InActive;
                    resultNode.SubItemDisplayNames.Add(status);
                    resultNode.SubItemDisplayNames.Add(dto.LastHeartbeat.ToString(Constants.DateFormat));
                    resultNode.ImageIndex = (int)(VMPSCHighAvailability.Common.ImageIndex.Service);
                    ResultNodes.Add(resultNode);
                }
            }
        }
コード例 #15
0
        public String Merge(NodeQueryResult result, NodeQueryResultOperand nodes_operand, NodeQueryPredicateOperand evaluation_operand)
        {
            String mergeReport = this.ToString() + " " + evaluation_operand.ToString() + "(" + nodes_operand.ToString() + ")";

            mergeReport = mergeReport.add(result.ToString(), " ");

            ResultNodes = ResultNodes.GetOperationResult(result.ResultNodes, nodes_operand);

            switch (evaluation_operand)
            {
            case NodeQueryPredicateOperand.AND:
                ResultEvaluation = ResultEvaluation && result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.NOT:
                ResultEvaluation = ResultEvaluation && !result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.OR:
                ResultEvaluation = ResultEvaluation || result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.SET:
                ResultEvaluation = result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.IGNORE:
                break;

            case NodeQueryPredicateOperand.REEVAL:
                ResultEvaluation = ResultNodes.Any();

                break;
            }

            mergeReport = mergeReport.add(" => " + this.ToString(), " ");

            return(mergeReport);
        }
コード例 #16
0
 /// <summary>
 /// UpdateNodes method implementation
 /// </summary>
 private void AddNodes(MMCRegistrationList reg)
 {
     this.SelectionData.BeginUpdates();
     try
     {
         foreach (ResultNode resultNode in this.SelectedNodes)
         {
             resultNode.SendSelectionRequest(false);
         }
         foreach (MMCRegistration registration in reg)
         {
             ResultNode resultNode = registration;
             ResultNodes.Add(resultNode);
             resultNode.SendSelectionRequest(true);
         }
         UpdateActionPanelItems(reg);
     }
     finally
     {
         this.SelectionData.EndUpdates();
     }
 }