1.先查看概念 可以看highplayer博客

http://blog.csdn.net/highplayer/article/details/6613817

2.

protected void staticStressTest(object sender, EventArgs e)
{
#region MyRegion
if (string.IsNullOrEmpty(txt_ComputeDate_.Value))
{
Page.ClientScript.RegisterClientScriptBlock(JSUtil.CurrentPage.GetType(), Util.NewGuid(), @"<script>$.messager.alert('操作提示', '查询日期不能为空!');</script>");
return;
}
DataTable dt = new DataTable();
DateTime computeDate = DateTime.Parse(txt_ComputeDate_.Value);
double[] termList =
{
0.01, 0.02, 0.03, 0.05, 0.1, 0.2, 0.3, 0.5, 1, 2, 5, 0, -0.01, -0.02, -0.03,
-0.05, -0.1, -0.2, -0.3, -0.5, -1, -2, -5
};
string[] nameList =
{
"Add_One_Percent", "Add_Two_Percent", "Add_Three_Percent", "Add_Five_Percent",
"Add_Ten_Percent", "Add_Twenty_Percent", "Add_Thirty_Percent", "Add_Fifty_Percent",
"Add_One_Hundred_Percent", "Add_Two_Hundred_Percent",
"Add_Five_Hundred_Percent", "Unchanged_Value", "Minus_One_Percent", "Minus_Two_Percent",
"Minus_Three_Percent", "Minus_Five_Percent", "Minus_Ten_Percent", "Minus_Twenty_Percent",
"Minus_Thirty_Percent", "Minus_Fifty_Percent", "Minus_One_Hundred_Percent",
"Minus_Two_Hundred_Percent",
"Minus_Five_Hundred_Percent"
};
for (int i = 0; i < termList.Length; i++)
{
ShockInputData shockInputData = new ShockInputData();
shockInputData.ShockValueTypeID = (int)LookupItems.VALUE_TYPE_PERCENTAGE;
shockInputData.ShockValue = termList[i];
shockInputData.ShockModeID = (int)LookupItems.SHOCK_MODE_ADD;
shockInputData.ShockScope = "ALL";
shockInputData.ShockFlag = Constants.SHOCK_YES;
shockInputData.ShockType = "MarketPrice";

Psvc.GenerateStressedTranCashflowByDatesWithShock(computeDate, computeDate, computeDate,
computeDate, shockInputData, "STRESS_TEST_STATIC");
payoffComputationService.ComputeTransactionPayoffByDate(computeDate, "STRESS_TEST_STATIC");

string sql =
"select t.portfolio_id as ITEM_ID,t.transaction_id ,t.transaction_sub_id,t.as_of_date as COMPUTE_DATE,po.portfolio_name,round(sum(t.mark_to_market_value),2) " +
nameList[i] +
" from tran_payoff t " +
"inner join bas_portfolio po on po.portfolio_id=t.portfolio_id" +
" where t.result_use_type = 'STRESS_TEST_STATIC' and as_of_date=:ComputeDate" +
" group by t.portfolio_id,t.as_of_date,t.transaction_id,t.transaction_sub_id,po.portfolio_name";
QueryInfo dsInfo = new QueryInfo();
dsInfo.CustomSQL = sql;
dsInfo.AddParam("ComputeDate",computeDate);
DataSet tempSet = Dao.ExcuteDataSet(dsInfo);
tempSet.Tables[0].PrimaryKey = new[]
{
tempSet.Tables[0].Columns[0],
tempSet.Tables[0].Columns[1],
tempSet.Tables[0].Columns[2],
tempSet.Tables[0].Columns[3]
};
if (i == 0)
{
dt = tempSet.Tables[0];
}
else
{
dt.Merge(tempSet.Tables[0]);
}

}
var resultList = dt.ToList<RskStaticStressTest>();

QueryInfo deleteInfo = new QueryInfo();
deleteInfo.CustomSQL = "delete from RskStaticStressTest where ComputeDate=:ComputeDate";
deleteInfo.Parameters.Add("ComputeDate", computeDate);
Dao.ExecuteUpdate(deleteInfo);

Dao.SaveOrUpdateAll(resultList);
ASPxGridView1.DataSource = dt;Session["rsk_staticstress_dev"] = dt;
ASPxGridView1.DataBind();
#endregion
//Page.ClientScript.RegisterClientScriptBlock(JSUtil.CurrentPage.GetType(), Util.NewGuid(), @"<script>DataGrid.WaitMessage(‘正在加载数据,请稍后。。’);</script>");

//Thread.Sleep(5000);
//Page.ClientScript.RegisterClientScriptBlock(JSUtil.CurrentPage.GetType(), Util.NewGuid(), @"<script> DataGrid.RemoveWaitMessage();</script>");
Page.ClientScript.RegisterClientScriptBlock(JSUtil.CurrentPage.GetType(), Util.NewGuid(), @"<script>$.messager.alert('操作提示', '计算成功!');</script>");

}

DataTable 设置primarykey 后进行 Merge操作的更多相关文章

  1. Primefaces dataTable设置滚动条问题

    primefaces dataTable设置滚动条后不论有几行数据都会有滚动条的位置,当数据所占高度大于scrollHeight设定的值时才会出现滚动条,问题是,没有出现滚动条时,预留滚动条的位置不仅 ...

  2. jquery datatable设置垂直滚动后,表头(th)错位问题

    jquery datatable设置垂直滚动后,表头(th)错位问题 问题描述: 我在datatable里设置:"scrollY": '300px',垂直滚动属性后,表头的宽度就会 ...

  3. 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址

    树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...

  4. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

  5. 怎样为DataTable设置主键及找行数据

    只要是数据集中都应该存在主键,以确定数据集中唯一的值.那么,我们要如何为DataTable设置主键及利用主键在DataTable索引值呢? 步骤/方法     为DataTable设置主键 DataT ...

  6. 基于NopCommerce的开发框架——缓存、网站设置、系统日志、用户操作日志

    最近忙于学车,抽时间将Nop的一些公用模块添加进来,反应的一些小问题也做了修复.另外有园友指出Nop内存消耗大,作为一个开源电商项目,性能方面不是该团队首要考虑的,开发容易,稳定,代码结构清晰简洁也是 ...

  7. 安装Ubuntu 18.04后的一些操作

    安装Ubuntu 18.04后的一些操作 1.设置root密码 sudo passwd 2.登陆root(输入密码后看到井号就是切换成为root账户) su 3.删除预装 apt-get remove ...

  8. C# DataTable导出EXCEL后身份证、银行卡号等长数字信息显示乱码解决

    在DataTable导出EXCEL后发现有些格式显示有问题,比如身份证.银行卡号等大于11位的数字显示为科学计数法.13681-1等 带中划线的两段数字显示为日期格式等. 处理方法如下: public ...

  9. eclipse如何设置编译后target目录不提交svn服务器

    eclipse设置 windows ->prefrences->team->Ignored Resource 点击Add Pattern  输入    */target/*    等 ...

随机推荐

  1. bootstrap table 兼容ie8 -- refreshOptions

    今天项目使用 bootstrap table 在ie8下发现 方法 refreshOptions 报错. 经过调试监控发现错误如下: 153 行 代码 Object.getOwnPropertyNam ...

  2. etcd服务端和客户端安装

    下载地址: 服务端:http://download.csdn.net/download/wuxun1997/9841277 客户端:http://download.csdn.net/download/ ...

  3. Linux Samba目录服务搭建与Java客户端访问

    前言: 本文比较简略,只求快速入门,若要了解详情,推荐一篇文章:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 1,安装sa ...

  4. UBUNTU readelf的安装

    大多数情况下,linux环境上默认可能都装有readelf,但是也有少数情况可能没有装,我自己用的ubuntu的linux虚拟机就没有装readelf.readelf本身是一个分析elf很好用的工具. ...

  5. nginx.conf解读

    通常我们需要配置nginx.conf或者配置子项目的配置文件,那么我们需要解读它里面每一个参数的意义,就来个范例解读吧(有中午注释) #运行用户 user www-data; #启动进程,通常设置成和 ...

  6. Linux:Linux 常用命令讲解(软件、硬件、文件)

    一.Linux 常用命令 所有的命令操作都是在服务器上进行的 自学参考:菜鸟 Linux man + 命令:查看命令的文档: 命令  +  --usage:查看命令的文档: 命令  +  --help ...

  7. java图形用户界面边界布局管理器

    总结:不同方向的组件,所用的板是不同的: package com.moc; //用布局写一个界面 ///运用边界布局 //2个按钮在北,2个按钮在南 //中央一个大按钮 //将同一方向的组件封装后布局 ...

  8. 五 搭建kafka集群

    1 下载    wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 2 tar  -zxv ...

  9. Cassandra 学习七 cassandra研究

    https://www.cnblogs.com/bonelee/p/6306079.html Allow filtering: 如果你的查询条件里,有一个是根据索引查询,那其它非索引非主键字段,可以通 ...

  10. Setting up logs in NetBackup

    For a given issue, it may be necessary to gather multiple logs.  This MUST cover the time the issue ...