/// <summary> /// Converts an array to a Genreic List of Type EntityIpDomain /// This method converts the array to a list so I can pass it back in a WCF service /// </summary> /// <param name="aData">Array of IP(s)|Domain(s)</param> /// <returns>Generic List of Type EntityIpDomain</returns> private static List <EntityIpDomain> ConvertArrayToList(Array aData) { List <EntityIpDomain> list = new List <EntityIpDomain>(aData.Length); foreach (String item in aData) { EntityIpDomain ipDomainValue = new EntityIpDomain { IpDomain = item }; list.Add(ipDomainValue); } return(list); }
/// <summary> /// Retrieves the IP(s)|Domain(s) from the SMTP Server in an Array /// This method retrieves teh IPs/DNS entries from the Relay Restriction List in IIS /// </summary> /// <param name="sMetabasePath">IIS://localhost/smtpsvc/1</param> /// <param name="sMethodName">Get|Put</param> /// <param name="sMethodArgument">IPSecurity|RelayIPList</param> /// <param name="sMember">IPGrant|IPDeny|DomainGrant|DomainDeny</param> /// <returns></returns> public static List <EntityIpDomain> GetIpSecurityPropertyArray(String sMetabasePath, String sMethodName, String sMethodArgument, String sMember) { //instantiates an instance of DirectoryEntry DirectoryEntry directoryEntry = new DirectoryEntry(sMetabasePath); directoryEntry.RefreshCache(); //return result of Invoke method object oIpSecurity = directoryEntry.Invoke(sMethodName, new[] { sMethodArgument }); //get Type of ipSecurity Type typeIpSecurityType = oIpSecurity.GetType(); //returns an array of IPS or Domains Array data = GetIpSecurityData(oIpSecurity, typeIpSecurityType, sMember); //load the array into a generic list List <EntityIpDomain> list = new List <EntityIpDomain>(); for (int i = 0; i < data.Length; i++) { EntityIpDomain entityIpDomain = new EntityIpDomain(); entityIpDomain.IpDomain = data.GetValue(i).ToString(); list.Add(entityIpDomain); } return(list); }
internal static List <EntityIpDomain> GetImsIp(string ipString) { if (string.IsNullOrEmpty(ipString)) { return(new List <EntityIpDomain>()); } List <string> ips = ipString.Split(',').ToList(); List <EntityIpDomain> imsIp = new List <EntityIpDomain>(); foreach (string ip in ips) { if (IPv4.IsValidIp(ip.Trim())) { EntityIpDomain entityIpDomain = new EntityIpDomain { IpDomain = string.Format("{0}, 255.255.255.255", ip.Trim()) }; imsIp.Add(entityIpDomain); } } return(imsIp); }