public static List<ExchangeDomainName> GetOrganizationDomains(int itemId)
        {
            #region Demo Mode
            if (IsDemoMode)
            {
                List<ExchangeDomainName> demoDomains = new List<ExchangeDomainName>();
                ExchangeDomainName d1 = new ExchangeDomainName();
                d1.DomainId = 1;
                d1.DomainName = "fabrikam.hosted-exchange.com";
                d1.IsDefault = false;
                d1.IsHost = true;
                demoDomains.Add(d1);

                ExchangeDomainName d2 = new ExchangeDomainName();
                d2.DomainId = 2;
                d2.DomainName = "fabrikam.net";
                d2.IsDefault = true;
                d2.IsHost = false;
                demoDomains.Add(d2);

                return demoDomains;
            }
            #endregion

            // load organization
            Organization org = GetOrganization(itemId, false);
            if (org == null)
                return null;

            // load all domains
            List<ExchangeDomainName> domains = ObjectUtils.CreateListFromDataReader<ExchangeDomainName>(
                DataProvider.GetExchangeOrganizationDomains(itemId));

            // set default domain
            foreach (ExchangeDomainName domain in domains)
            {
                if (String.Compare(domain.DomainName, org.DefaultDomain, true) == 0)
                {
                    domain.IsDefault = true;
                    break;
                }
            }

            return domains;
        }
 /// <remarks/>
 public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, ExchangeDomainName[] acceptedDomains, object userState) {
     if ((this.DeleteOrganizationOperationCompleted == null)) {
         this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted);
     }
     this.InvokeAsync("DeleteOrganization", new object[] {
                 organizationId,
                 distinguishedName,
                 globalAddressList,
                 addressList,
                 roomList,
                 offlineAddressBook,
                 securityGroup,
                 addressBookPolicy,
                 acceptedDomains}, this.DeleteOrganizationOperationCompleted, userState);
 }
 /// <remarks/>
 public System.IAsyncResult BeginDeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, ExchangeDomainName[] acceptedDomains, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("DeleteOrganization", new object[] {
                 organizationId,
                 distinguishedName,
                 globalAddressList,
                 addressList,
                 roomList,
                 offlineAddressBook,
                 securityGroup,
                 addressBookPolicy,
                 acceptedDomains}, callback, asyncState);
 }
 /// <remarks/>
 public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, ExchangeDomainName[] acceptedDomains) {
     this.DeleteOrganizationAsync(organizationId, distinguishedName, globalAddressList, addressList, roomList, offlineAddressBook, securityGroup, addressBookPolicy, acceptedDomains, null);
 }
 public bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, ExchangeDomainName[] acceptedDomains) {
     object[] results = this.Invoke("DeleteOrganization", new object[] {
                 organizationId,
                 distinguishedName,
                 globalAddressList,
                 addressList,
                 roomList,
                 offlineAddressBook,
                 securityGroup,
                 addressBookPolicy,
                 acceptedDomains});
     return ((bool)(results[0]));
 }