份额明细接口
算初体验接口的编写和MVC框架的利用。这次写份额明细接口:主要讲TA系统传份额明细到CRM系统,以Cdate,Cserialno,tano为唯一索引。
1.在TcmpOracle.tt里创建TINF_SHAREDETAIL.cs
2.在Data里创建interface:TINF_SHAREDETAILBLL和继承该接口的类DAL
3.在Task中创建GetGf_shareInfo.cs:根据TA传来的字段,保存到对应的表字段里
EntityFinder entityFinder = new EntityFinder();
Entity currentEntity = new Entity("gf_shareinfo");//新建实体,然后可以讲字段传到对应实体的字段中
var account = entityFinder.GetEntity(proxy, "account", new ColumnSet(true), new ConditionExpression[]
{ new ConditionExpression("gf_financialaccount",ConditionOperator.Equal,item.C_FUNDACCO)});
if (account != null)
{
currentEntity["gf_accountid"] = new EntityReference("account", account.Id);
}//根据字段获取对应实体里的guid
//根据唯一索引来判断是新增数据还是更新数据
var shareinfo = entityFinder.GetEntity(proxy, "gf_shareinfo", new ColumnSet(true), new ConditionExpression[]
{new ConditionExpression("gf_datadate", ConditionOperator.Equal,item.D_DATADATE),
new ConditionExpression("gf_serialno", ConditionOperator.Equal,item.C_CSERIALNO),
new ConditionExpression("gf_tano", ConditionOperator.Equal,item.C_TANO)});
if (shareinfo != null)
{
currentEntity.Id = shareinfo.Id;
proxy.Update(currentEntity);
}
else
{
proxy.Create(currentEntity);
}
log = "CRM系统处理成功!";
WriteLog.WriteLog(log, createService.TA_TO_CRM_LogFile + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
4.代码前期准备:创建gf_shareinfo实体,建立字段。
注意区分哪些是选项集,哪些是decimal,哪些是货币类型。
如果是选项集:currentEntity["gf_sourcetype"] = new OptionSetValue(1010);
如果是货币类型:currentEntity["gf_oribalance"] = new Money (Convert.ToDecimal(item.F_ORIBALANCE));