/// <summary> /// Deletes specified filter. /// </summary> /// <param name="filterID">FilterID of the filter which to delete.</param> public void DeleteFilter(string filterID) { switch(m_DB_Type) { #region DB_Type.XML case DB_Type.XML: DataSet dsFiltersCopy = dsFilters.Copy(); using(DataView dv = new DataView(dsFiltersCopy.Tables["SmtpFilters"])){ dv.RowFilter = "FilterID='" + filterID + "'"; if(dv.Count > 0){ dsFiltersCopy.Tables["SmtpFilters"].Rows.Remove(dv[0].Row); } dsFiltersCopy.WriteXml(m_DataPath + "Filters.xml",XmlWriteMode.IgnoreSchema); } break; #endregion #region DB_Type.MSSQL case DB_Type.MSSQL: DataSet dsFiltersCopy2 = dsFilters.Copy(); using(DataView dv = new DataView(dsFiltersCopy2.Tables["SmtpFilters"])){ dv.RowFilter = "FilterID='" + filterID + "'"; if(dv.Count > 0){ dsFiltersCopy2.Tables["SmtpFilters"].Rows.Remove(dv[0].Row); } dsFiltersCopy2.WriteXml(m_DataPath + "Filters.xml",XmlWriteMode.IgnoreSchema); } break; #endregion #region DB_Type.WebServices case DB_Type.WebServices: using(RemoteAdmin eng = new RemoteAdmin()){ _Core.InitWebService(m_WebServicesUrl,m_WebServicesPwd,m_WebServicesUser,eng); eng.DeleteFilter(filterID); } break; #endregion } }