public object UpdateADUsers(object[] objParam) { String[] strAdUsers = objParam[0].ToString().Split(new String[] { ";" }, StringSplitOptions.RemoveEmptyEntries); object[] myRet = (object[])GetADUsers(null); ArrayList alADUsers = myRet[1] as ArrayList; ClientType ct = ClientType.ctMsSql; IDbConnection nwindConn = AllocateConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), ref ct, false); try { foreach (String strADUser in strAdUsers) { foreach (ADUser user in alADUsers) { if (strADUser == user.ID) { InfoCommand cmd = new InfoCommand(ClientInfo); cmd.Connection = nwindConn; if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "DELETE FROM USERS WHERE USERID=@USERID"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "@USERID"; idpUSERID.Value = user.ID; cmd.Parameters.Add(idpUSERID); } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "DELETE FROM USERS WHERE USERID=?"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "?"; idpUSERID.Value = user.ID; cmd.Parameters.Add(idpUSERID); } else if (ct == ClientType.ctOracle) { cmd.CommandText = "DELETE FROM USERS WHERE USERID=:USERID"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = ":USERID"; idpUSERID.Value = user.ID; cmd.Parameters.Add(idpUSERID); } cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "INSERT INTO USERS (USERID, USERNAME, DESCRIPTION, AUTOLOGIN, EMAIL, MSAD, CREATEDATE) " + "VALUES (@USERID, @USERNAME, @DESCRIPTION, 'S', @EMAIL, 'Y', @CREATEDATE)"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "@USERID"; idpUSERID.Value = user.ID; IDbDataParameter idpUSERNAME = cmd.CreateParameter(); idpUSERNAME.ParameterName = "@USERNAME"; idpUSERNAME.Value = user.Name; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = "@DESCRIPTION"; idpDESCRIPTION.Value = user.Description; IDbDataParameter idpEMAIL = cmd.CreateParameter(); idpEMAIL.ParameterName = "@EMAIL"; idpEMAIL.Value = user.Email; IDbDataParameter idpCREATEDATE = cmd.CreateParameter(); idpCREATEDATE.ParameterName = "@CREATEDATE"; idpCREATEDATE.Value = DateTime.Today.ToString("yyyyMMdd"); cmd.Parameters.Add(idpUSERID); cmd.Parameters.Add(idpUSERNAME); cmd.Parameters.Add(idpDESCRIPTION); cmd.Parameters.Add(idpEMAIL); cmd.Parameters.Add(idpCREATEDATE); } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "INSERT INTO USERS (USERID, USERNAME, DESCRIPTION, AUTOLOGIN, EMAIL, MSAD, CREATEDATE) " + "VALUES (?, ?, ?, 'S', ?, 'Y', ?)"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "?"; idpUSERID.Value = user.ID; IDbDataParameter idpUSERNAME = cmd.CreateParameter(); idpUSERNAME.ParameterName = "?"; idpUSERNAME.Value = user.Name; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = "?"; idpDESCRIPTION.Value = user.Description; IDbDataParameter idpEMAIL = cmd.CreateParameter(); idpEMAIL.ParameterName = "?"; idpEMAIL.Value = user.Email; IDbDataParameter idpCREATEDATE = cmd.CreateParameter(); idpCREATEDATE.ParameterName = "?"; idpCREATEDATE.Value = DateTime.Today.ToString("yyyyMMdd"); cmd.Parameters.Add(idpUSERID); cmd.Parameters.Add(idpUSERNAME); cmd.Parameters.Add(idpDESCRIPTION); cmd.Parameters.Add(idpEMAIL); cmd.Parameters.Add(idpCREATEDATE); } else if (ct == ClientType.ctOracle) { cmd.CommandText = "INSERT INTO USERS (USERID, USERNAME, DESCRIPTION, AUTOLOGIN, EMAIL, MSAD, CREATEDATE) " + "VALUES (:USERID, :USERNAME, :DESCRIPTION, 'S', :EMAIL, 'Y', :CREATEDATE)"; IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = ":USERID"; idpUSERID.Value = user.ID; IDbDataParameter idpUSERNAME = cmd.CreateParameter(); idpUSERNAME.ParameterName = ":USERNAME"; idpUSERNAME.Value = user.Name; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = ":DESCRIPTION"; idpDESCRIPTION.Value = user.Description; IDbDataParameter idpEMAIL = cmd.CreateParameter(); idpEMAIL.ParameterName = ":EMAIL"; idpEMAIL.Value = user.Email; IDbDataParameter idpCREATEDATE = cmd.CreateParameter(); idpCREATEDATE.ParameterName = ":CREATEDATE"; idpCREATEDATE.Value = DateTime.Today.ToString("yyyyMMdd"); cmd.Parameters.Add(idpUSERID); cmd.Parameters.Add(idpUSERNAME); cmd.Parameters.Add(idpDESCRIPTION); cmd.Parameters.Add(idpEMAIL); cmd.Parameters.Add(idpCREATEDATE); } cmd.ExecuteNonQuery(); break; } } } return new object[] { 0 }; } finally { ReleaseConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), nwindConn, false); } }
public object UpdateADGroups(object[] objParam) { String[] strAdGroups = objParam[0].ToString().Split(new String[] { ";" }, StringSplitOptions.RemoveEmptyEntries); object[] myRet = (object[])GetADUserForGroup(null); ArrayList alADGroups = myRet[1] as ArrayList; ClientType ct = ClientType.ctMsSql; IDbConnection nwindConn = AllocateConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), ref ct, false); try { foreach (String strADGroup in strAdGroups) { foreach (ADGroup group in alADGroups) { if (strADGroup == group.ID) { InfoCommand cmd = new InfoCommand(ClientInfo); cmd.Connection = nwindConn; if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "DELETE FROM GROUPS WHERE GROUPNAME=@GROUPNAME"; IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = "@GROUPNAME"; idpGROUPNAME.Value = group.ID; cmd.Parameters.Add(idpGROUPNAME); } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "DELETE FROM GROUPS WHERE GROUPNAME=?"; IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = "?"; idpGROUPNAME.Value = group.ID; cmd.Parameters.Add(idpGROUPNAME); } else if (ct == ClientType.ctOracle) { cmd.CommandText = "DELETE FROM GROUPS WHERE GROUPNAME=:GROUPNAME"; IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = ":GROUPNAME"; idpGROUPNAME.Value = group.ID; cmd.Parameters.Add(idpGROUPNAME); } cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "INSERT INTO GROUPS (GROUPID, GROUPNAME, DESCRIPTION, MSAD) " + "VALUES (@GROUPID, @GROUPNAME, @DESCRIPTION, 'Y')"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = "@GROUPID"; idpGROUPID.Value = "ad" + GetGroupID().ToString("000"); IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = "@GROUPNAME"; idpGROUPNAME.Value = group.ID; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = "@DESCRIPTION"; idpDESCRIPTION.Value = group.Description; cmd.Parameters.Add(idpGROUPID); cmd.Parameters.Add(idpGROUPNAME); cmd.Parameters.Add(idpDESCRIPTION); } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "INSERT INTO GROUPS (GROUPID, GROUPNAME, DESCRIPTION, MSAD) " + "VALUES (?, ?, ?, 'Y')"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = "?"; idpGROUPID.Value = "ad" + GetGroupID().ToString("000"); IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = "?"; idpGROUPNAME.Value = group.ID; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = "?"; idpDESCRIPTION.Value = group.Description; cmd.Parameters.Add(idpGROUPID); cmd.Parameters.Add(idpGROUPNAME); cmd.Parameters.Add(idpDESCRIPTION); } else if (ct == ClientType.ctOracle) { cmd.CommandText = "INSERT INTO GROUPS (GROUPID, GROUPNAME, DESCRIPTION, MSAD) " + "VALUES (:GROUPID, :GROUPNAME, :DESCRIPTION, 'Y')"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = ":GROUPID"; idpGROUPID.Value = "ad" + GetGroupID().ToString("000"); IDbDataParameter idpGROUPNAME = cmd.CreateParameter(); idpGROUPNAME.ParameterName = ":GROUPNAME"; idpGROUPNAME.Value = group.ID; IDbDataParameter idpDESCRIPTION = cmd.CreateParameter(); idpDESCRIPTION.ParameterName = ":DESCRIPTION"; idpDESCRIPTION.Value = group.Description; cmd.Parameters.Add(idpGROUPID); cmd.Parameters.Add(idpGROUPNAME); cmd.Parameters.Add(idpDESCRIPTION); } cmd.ExecuteNonQuery(); foreach (String user in group.Users) { cmd.Parameters.Clear(); if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "DELETE FROM USERGROUPS WHERE GROUPID=@GROUPID AND USERID=@USERID"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = "@GROUPID"; idpGROUPID.Value = group.ID; cmd.Parameters.Add(idpGROUPID); IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "@USERID"; idpUSERID.Value = user; cmd.Parameters.Add(idpUSERID); } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "DELETE FROM USERGROUPS WHERE GROUPID=? AND USERID=?"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = "?"; idpGROUPID.Value = group.ID; cmd.Parameters.Add(idpGROUPID); IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = "?"; idpUSERID.Value = user; cmd.Parameters.Add(idpUSERID); } else if (ct == ClientType.ctOracle) { cmd.CommandText = "DELETE FROM USERGROUPS WHERE GROUPID=:GROUPID AND USERID=:USERID"; IDbDataParameter idpGROUPID = cmd.CreateParameter(); idpGROUPID.ParameterName = ":GROUPID"; idpGROUPID.Value = group.ID; cmd.Parameters.Add(idpGROUPID); IDbDataParameter idpUSERID = cmd.CreateParameter(); idpUSERID.ParameterName = ":USERID"; idpUSERID.Value = user; cmd.Parameters.Add(idpUSERID); } cmd.ExecuteNonQuery(); if (ct == ClientType.ctMsSql || ct == ClientType.ctMySql) { cmd.CommandText = "INSERT INTO USERGROUPS (GROUPID, USERID) " + "VALUES (@GROUPID, @USERID)"; } else if (ct == ClientType.ctOleDB || ct == ClientType.ctSybase || ct == ClientType.ctODBC || ct == ClientType.ctInformix) { cmd.CommandText = "INSERT INTO USERGROUPS (GROUPID, USERID) " + "VALUES (?, ?)"; } else if (ct == ClientType.ctOracle) { cmd.CommandText = "INSERT INTO USERGROUPS (GROUPID, USERID) " + "VALUES (:GROUPID, :USERID)"; } cmd.ExecuteNonQuery(); } break; } } } return new object[] { 0 }; } finally { ReleaseConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), nwindConn, false); } }