/// <summary>
        /// Deletes specified DomainName.
        /// </summary>
        /// <param name="domainID"></param>
        /// <returns>Returns true if DomainName deleted successfully.</returns>
        public bool DeleteDomain(string domainID)
        {
            try
            {
                switch(m_DB_Type)
                {
                    #region DB_Type.XML

                    case DB_Type.XML:
                        // 1) delete specified DomainName users
                        // 2) delete specified DomainName aliases
                        // 3) delete specified DomainName routing
                        // 4) delete specified DomainName

                        DataSet dsUsersCopy   = dsUsers.Copy();
                        DataSet dsAliasesCopy = dsAliases.Copy();
                        DataSet dsRoutingCopy = dsRouting.Copy();
                        DataSet dsDomainsCopy = dsDomains.Copy();

                        //---- Delete specified DomainName users ----------------------------//
                        using(DataView dv = new DataView(dsUsersCopy.Tables["Users"])){
                            dv.RowFilter = "DomainID='" + domainID + "'";

                            if(dv.Count > 0){
                                foreach(DataRowView drv in dv){
                                    drv.Row.Delete();
                                }
                            }
                        }
                        //----------------------------------------------------------------//

                        //---- Delete specified DomainName aliases ---------------------------//
                        using(DataView dvA = new DataView(dsAliasesCopy.Tables["Aliases"])){
                            dvA.RowFilter = "DomainID='" + domainID + "'";

                            if(dvA.Count > 0){
                                foreach(DataRowView drv in dvA){
                                    drv.Row.Delete();
                                }
                            }
                        }
                        //----------------------------------------------------------------//

                        //---- Delete specified DomainName routing ---------------------------//
                        using(DataView dvR = new DataView(dsRoutingCopy.Tables["Routing"])){
                            dvR.RowFilter = "DomainID='" + domainID + "'";

                            if(dvR.Count > 0){
                                foreach(DataRowView drv in dvR){
                                    drv.Row.Delete();
                                }
                            }
                        }
                        //----------------------------------------------------------------//

                        //---- Delete DomainName itself --------------------------------------//
                        using(DataView dv = new DataView(dsDomainsCopy.Tables["Domains"])){
                            dv.RowFilter = "DomainID='" + domainID + "'";

                            if(dv.Count > 0){
                                dsDomainsCopy.Tables["Domains"].Rows.Remove(dv[0].Row);
                            }
                        }
                        //----------------------------------------------------------------//

                        dsDomainsCopy.WriteXml(m_DataPath + "Domains.xml",XmlWriteMode.IgnoreSchema);
                        dsUsersCopy.WriteXml  (m_DataPath + "Users.xml"  ,XmlWriteMode.IgnoreSchema);
                        dsAliasesCopy.WriteXml(m_DataPath + "Aliases.xml",XmlWriteMode.IgnoreSchema);
                        dsRoutingCopy.WriteXml(m_DataPath + "Routing.xml",XmlWriteMode.IgnoreSchema);

                        LoadUsers();
                        LoadAliases();
                        LoadRouting();

                        return true;

                    #endregion

                    #region DB_Type.MSSQL

                    case DB_Type.MSSQL:
                        using(WSqlCommand sqlCmd = new WSqlCommand(m_ConStr,"lspr_DeleteDomain")){
                            sqlCmd.AddParameter("@DomainID" ,SqlDbType.NVarChar,domainID);

                            DataSet ds = sqlCmd.Execute();
                            return true;
                        }

                    #endregion

                    #region DB_Type.WebServices

                    case DB_Type.WebServices:
                        using(RemoteAdmin eng = new RemoteAdmin()){
                            _Core.InitWebService(m_WebServicesUrl,m_WebServicesPwd,m_WebServicesUser,eng);

                            eng.DeleteDomain(domainID);
                            return true;
                        }

                    #endregion
                }
            }
            catch(Exception x)
            {
            //			System.Windows.Forms.MessageBox.Show(x.Message);
            }

            return false;
        }