public RoutingOverride(RoutingDomain routingDomain, DeliveryQueueDomain deliveryQueueDomain) : this(routingDomain, RoutingOverride.EmptyHostList, deliveryQueueDomain) { }
public RoutingOverride(RoutingDomain routingDomain, List<RoutingHost> alternateDeliveryRoutingHosts, DeliveryQueueDomain deliveryQueueDomain) { if (routingDomain == RoutingDomain.Empty) { throw new ArgumentException(string.Format("The provided domain '{0}' is RoutingDomain.Empty which isn't valid for RoutingOverride", routingDomain)); } if ((alternateDeliveryRoutingHosts == null || alternateDeliveryRoutingHosts.Count == 0) && deliveryQueueDomain == DeliveryQueueDomain.UseAlternateDeliveryRoutingHosts) { throw new ArgumentException(string.Format("The provided delivery queue domain value UseAlternateDeliveryRoutingHosts is only valid when you specify alternate delivery hosts.", new object[0])); } if (alternateDeliveryRoutingHosts != null && alternateDeliveryRoutingHosts.Count != 0 && !string.Equals(routingDomain.Type, "smtp", StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException(string.Format("The routing domain needs to be an SMTP domain if alternate delivery hosts are specified - routingDomain.Type == {0}", routingDomain.Type)); } this.routingDomain = routingDomain; this.alternateDeliveryRoutingHosts = RoutingHost.ConvertRoutingHostsToString<RoutingHost>(alternateDeliveryRoutingHosts, (RoutingHost host) => host); this.deliveryQueueDomain = deliveryQueueDomain; }