public Common.Argument.RetResult AddCategoryAnayURL(stringareaCode, Bill_CategoryAnay model)
{
Common.Argument.RetResult ret= newCommon.Argument.RetResult();using (CommittableTransaction commitTran = newCommittableTransaction())
{try{
List strSqlList = new List();//修改IOIDCategory里的解析地址
string strSql = "update a" + areaCode + "set GotoURL=:GotoURL where IOIDCategory_ID=:IOIDCategory_ID";
OracleParameter[] parameters={new OracleParameter(":GotoURL",OracleType.Number,8) ,new OracleParameter(":IOIDCategory_ID",OracleType.Number,20) };
parameters[0].Value =model.GotoURL;
parameters[1].Value =model.IOIDCategory_ID;
strSqlList.Add(newTranArray(strSql, parameters));if (model.OrderBillStatus_ID != 0)
{string strUpdateStatusSql = "update a" + areaCode + "set Status_ID=:Status_ID where IOIDCategory_ID=:IOIDCategory_ID";
OracleParameter[] parametersUpdateStatus={new OracleParameter(":Status_ID",OracleType.Number,8) ,new OracleParameter(":CategoryAnay_ID",OracleType.Number,20) };
parametersUpdateStatus[0].Value =status_ID;
parametersUpdateStatus[1].Value =model.IOIDCategory_ID;
strSqlList.Add(newTranArray(strUpdateStatusSql, parametersUpdateStatus));//获取IOIDCategory
OID_IOID_Category ioidCategory = newOID_IOID_Category();
retModule= GetIOIDCategoryByID(areaCode, model.IOIDCategory_ID, outioidCategory);
ioidCategory.Status_ID=status_ID;
ioidCategory.GotoURL=model.GotoURL;#region 添加临时表审核条目(此处不添加待审地址)StringBuilder strAddExamineSql= newStringBuilder();
strAddExamineSql.Append("insert into a_Temp(");//推送到临时表
strAddExamineSql.Append("IOIDCATEGORY_ID)");
strAddExamineSql.Append("values (");
strAddExamineSql.Append(":IOIDCATEGORY_ID)");
OracleParameter[] parametersAddExamine={new OracleParameter(":IOIDCATEGORY_ID", OracleType.Number,20)
};
parametersAddExamine[0].Value =ioidCategory.IOIDCategory_ID;#endregionOracleHelper.ExecuteSql(strAddExamineSql.ToString(), parametersAddExamine);//这是对主数据库的操作,当分数据库的操作报错的时候,这里的操作不会回退
}
OracleHelper.ExecuteSqlTran(areaCode, strSqlList);//这里出错的时候,上面的对主表的操作不会回退
commitTran.Commit();
}catch(Exception e)
{
commitTran.Rollback();
ret.SetArgument(Common.Argument.CmdResultError.EXCEPTION, e.ToString(),"异常错误!");
}returnret;
}
}