/// <summary> /// Updates new user to specified DomainName. /// </summary> /// <param name="userID"></param> /// <param name="fullName">User full name.</param> /// <param name="password">User login password.</param> /// <param name="Description">User Description.</param> /// <param name="emails">User Emails addresses.</param> /// <param name="domainID">DomainName ID of DomainName where to add user.</param> /// <param name="mailboxSize">Maximum mailbox size.</param> /// <param name="enabled">Sepcifies if user is enabled.</param> /// <param name="allowRelay">Specifies if user can relay.</param> /// <param name="remPop3Accounts">Byte DataSet Pop3RemServSchema or null.</param> public void UpdateUser(string userID,string fullName,string password,string Description,string emails,string domainID,int mailboxSize,bool enabled,bool allowRelay,byte[] remPop3Accounts) { switch(m_DB_Type) { #region DB_Type.XML case DB_Type.XML: DataSet dsUsersCopy = dsUsers.Copy(); using(DataView dv = new DataView(dsUsersCopy.Tables["Users"])){ dv.RowFilter = "UserID='" + userID + "'"; if(dv.Count > 0){ dv[0]["FULLNAME"] = fullName; dv[0]["PASSWORD"] = password; dv[0]["Description"] = Description; dv[0]["Emails"] = emails; dv[0]["DomainID"] = domainID; dv[0]["Mailbox_Size"] = mailboxSize; dv[0]["Enabled"] = enabled; dv[0]["AllowRelay"] = allowRelay; if(remPop3Accounts != null){ dv[0]["RemotePop3Servers"] = remPop3Accounts; } else{ dv[0]["RemotePop3Servers"] = DBNull.Value; } } dsUsersCopy.WriteXml(m_DataPath + "Users.xml",XmlWriteMode.IgnoreSchema); } break; #endregion #region DB_Type.MSSQL case DB_Type.MSSQL: using(WSqlCommand sqlCmd = new WSqlCommand(m_ConStr,"lspr_UpdateUser")){ sqlCmd.AddParameter("@UserID" ,SqlDbType.NVarChar,userID); sqlCmd.AddParameter("@FullName" ,SqlDbType.NVarChar,fullName); sqlCmd.AddParameter("@Password" ,SqlDbType.NVarChar,password); sqlCmd.AddParameter("@Description" ,SqlDbType.NVarChar,Description); sqlCmd.AddParameter("@Emails" ,SqlDbType.NVarChar,emails); sqlCmd.AddParameter("@DomainID" ,SqlDbType.NVarChar,domainID); sqlCmd.AddParameter("@MailboxSize" ,SqlDbType.NVarChar,mailboxSize); sqlCmd.AddParameter("@Enabled" ,SqlDbType.Bit,enabled); sqlCmd.AddParameter("@AllowRelay" ,SqlDbType.Bit,allowRelay); sqlCmd.AddParameter("@RemotePop3Servers" ,SqlDbType.Image,remPop3Accounts); 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.UpdateUser(userID,fullName,password,Description,emails,domainID,mailboxSize,enabled,allowRelay,remPop3Accounts); } break; #endregion } }