/// <summary> /// Updates Emails route. /// </summary> /// <param name="routeID"></param> /// <param name="pattern"></param> /// <param name="mailbox"></param> /// <param name="Description"></param> /// <param name="domainID"></param> public void UpdateRoute(string routeID,string pattern,string mailbox,string Description,string domainID) { switch(m_DB_Type) { #region DB_Type.XML case DB_Type.XML: //-- Find domainName from domainID ---------------------------// string domainName = ""; foreach(DataRow drx in dsDomains.Tables["Domains"].Rows){ if(drx["DomainID"].ToString() == domainID){ domainName = drx["DomainName"].ToString(); } } DataSet dsRoutingCopy = dsRouting.Copy(); using(DataView dv = new DataView(dsRoutingCopy.Tables["Routing"])){ dv.RowFilter = "RouteID='" + routeID + "'"; if(dv.Count > 0){ dv[0]["Pattern"] = pattern; dv[0]["Mailbox"] = mailbox; dv[0]["Description"] = Description; dv[0]["DomainID"] = domainID; dv[0]["DomainName"] = domainName; } dsRoutingCopy.Tables["Routing"].Columns.Remove("Length"); dsRoutingCopy.WriteXml(m_DataPath + "Routing.xml",XmlWriteMode.IgnoreSchema); } break; #endregion #region DB_Type.MSSQL case DB_Type.MSSQL: using(WSqlCommand sqlCmd = new WSqlCommand(m_ConStr,"lspr_UpdateRoute")){ sqlCmd.AddParameter("@RouteID" ,SqlDbType.UniqueIdentifier,routeID); sqlCmd.AddParameter("@Pattern" ,SqlDbType.NVarChar,pattern); sqlCmd.AddParameter("@Mailbox" ,SqlDbType.NVarChar,mailbox); sqlCmd.AddParameter("@Description" ,SqlDbType.NVarChar,Description); sqlCmd.AddParameter("@DomainID" ,SqlDbType.UniqueIdentifier,domainID); DataSet ds = sqlCmd.Execute(); } 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.UpdateRoute(routeID,pattern,mailbox,Description,domainID); } break; #endregion } }