public string RolersGrantsUpdate(GrantsModifyReq req) { GrantsModifyRes res = new GrantsModifyRes(); if (Session["ID"] == null) { res.ReturnStatus = new ReturnStatus(ReturnCode.SESSION_TIMEOUT); } else { try { Log("Req=" + JsonConvert.SerializeObject(req)); req.CUSER = Session["ID"].ToString(); req.MUSER = Session["ID"].ToString(); int i = new Grants("SCC").ByRolesUpdate(req); res.ReturnStatus = new ReturnStatus(ReturnCode.SET_SUCCESS); } catch (Exception ex) { Log("Err=" + ex.Message); Log(ex.StackTrace); res.ReturnStatus = new ReturnStatus(ReturnCode.SERIOUS_ERROR); } } var json = JsonConvert.SerializeObject(res); Log("Res=" + json); return(json); }
public int ByUsersUpdate(GrantsModifyReq req) { int count = 0; DbConnection conn = null; DbTransaction trans = null; DbCommand cmd = null; string sql = null; try { conn = Db.CreateConnection(); conn.Open(); trans = conn.BeginTransaction(); #region 刪除 sql = @" DELETE GRANTS WHERE USERS_SN=@USERS_SN "; cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = sql; Db.AddInParameter(cmd, "USERS_SN", DbType.Int32, req.USERS_SN[0]); count = Db.ExecuteNonQuery(cmd); #endregion #region 新增 if (req.ROLES_SN != null) { foreach (int sn in req.ROLES_SN) { sql = @" INSERT GRANTS (ROLES_SN,USERS_SN,CDATE,CUSER,MDATE,MUSER) VALUES (@ROLES_SN,@USERS_SN,GETDATE(),@CUSER,GETDATE(),@MUSER); "; cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = sql; Db.AddInParameter(cmd, "ROLES_SN", DbType.Int32, sn); Db.AddInParameter(cmd, "USERS_SN", DbType.Int32, req.USERS_SN[0]); Db.AddInParameter(cmd, "CUSER", DbType.String, req.CUSER); Db.AddInParameter(cmd, "MUSER", DbType.String, req.MUSER); count = Db.ExecuteNonQuery(cmd); } } #endregion trans.Commit(); return(count); } catch (Exception ex) { trans.Rollback(); throw; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } }