/// <summary> /// 修改用户 /// </summary> /// <param name="userinfo">用户实体类</param> /// <returns>是否成功</returns> public bool EditUserMain(USERINFO userinfo) { var listTrans = new List <Entity.OracleTransaction>(); // USERINFO var account = userinfo.F_ACCOUNT; var strSql = new StringBuilder(); strSql.Append("UPDATE USERINFO SET F_NAME=:F_NAME, F_PASSWORD=:F_PASSWORD, F_EMAIL=:F_EMAIL, F_PHONE=:F_PHONE, F_TEL=:F_TEL,"); strSql.Append(" F_DESCRIPTION=:F_DESCRIPTION, F_ADDRESS=:F_ADDRESS, F_REALNAME=:F_REALNAME WHERE F_ACCOUNT=:F_ACCOUNT"); var parms = new Dictionary <string, object> { { "F_ACCOUNT", account }, { "F_NAME", userinfo.F_NAME }, { "F_PASSWORD", userinfo.F_PASSWORD }, { "F_EMAIL", userinfo.F_EMAIL ?? "" }, { "F_PHONE", userinfo.F_PHONE ?? "" }, { "F_TEL", userinfo.F_TEL ?? "" }, { "F_DESCRIPTION", userinfo.F_DESCRIPTION ?? "" }, { "F_ADDRESS", userinfo.F_ADDRESS ?? "" }, { "F_REALNAME", userinfo.F_REALNAME ?? "" } }; listTrans.Add(new Entity.OracleTransaction { SqlString = strSql.ToString(), Parameters = parms }); // DEPARTMENTUSER strSql = new StringBuilder(); strSql.Append( "UPDATE DEPARTMENTUSER SET F_DEPARTMENTCODE = :F_DEPARTMENTCODE"); strSql.Append( " WHERE F_ACCOUNT = :F_ACCOUNT"); parms = new Dictionary <string, object> { { "F_DEPARTMENTCODE", userinfo.F_DEPARTMENTCODE }, { "F_ACCOUNT", account } }; listTrans.Add(new Entity.OracleTransaction { SqlString = strSql.ToString(), Parameters = parms }); // USERROLE if (userinfo.Roleinfos != null && userinfo.Roleinfos.Length > 0) { strSql = new StringBuilder(); strSql.Append("DELETE USERROLE"); strSql.Append(" WHERE F_ACCOUNT = :F_ACCOUNT"); parms = new Dictionary <string, object> { { "F_ACCOUNT", account } }; listTrans.Add(new Entity.OracleTransaction { SqlString = strSql.ToString(), Parameters = parms }); foreach (var roleinfo in userinfo.Roleinfos) { strSql = new StringBuilder(); strSql.Append( "INSERT INTO USERROLE(F_ID, F_ACCOUNT, F_ROLECODE)VALUES"); strSql.Append( "(SYS_GUID(),:F_ACCOUNT,:F_ROLECODE)"); parms = new Dictionary <string, object> { { "F_ACCOUNT", account }, { "F_ROLECODE", roleinfo } }; listTrans.Add(new Entity.OracleTransaction { SqlString = strSql.ToString(), Parameters = parms }); } } var dbHelper = new DbAPI(); try { dbHelper.RunOracleTransaction(listTrans); return(true); } catch (Exception ex) { LogBN.WriteLog(typeof(ROLEINFO_BN), "修改用户EditUserMain 程序段的异常" + ex); return(false); } }