/// <summary> /// 执行用户及账号逻辑 /// </summary> /// <param name="context"></param> /// <param name="message"></param> private void ExecuteForUserAndAccount(IRepositoryContext <Transfer> context, Message message) { // execute for user var userId = context.ExecuteInsert(message.TargetTable, ObjectToString(message.Data)).ToLong(); // execute for account var ItemDatas = message.Data; Func <string, object> getMessageData = name => { object res; if (message.Data.ContainsKey(name)) { res = message.Data[name]; } else if (message.ExtendData.ContainsKey(name)) { res = message.ExtendData[name]; } else { res = null; } return(res); }; foreach (var type in types) { IDictionary <string, object> row = new Dictionary <string, object>(); if (type.Name.IsNullOrEmpty()) { row["Amount"] = 0; } else { if (type.Name.Equals("UE_cp")) { row["Amount"] = getMessageData(type.Name).ToDecimal() * 850; } else { row["Amount"] = getMessageData(type.Name); } } row["Currency"] = type.Currency; row["CreateTime"] = DateTime.Now; row["ExtraDate"] = ""; row["FreezeAmount"] = 0; row["HistoryAmount"] = 0; row["ModifiedTime"] = "0001-01-01 00:00:00.0000000"; row["MoneyTypeId"] = type.MoneyType; row["Remark"] = "from qefgj database."; row["SortOrder"] = 1000; row["Status"] = getMessageData("Status"); row["UserId"] = userId; row["SrcId"] = getMessageData("SrcId"); context.Execute("Finance_Account", ObjectToString(row)); } }
/// <summary> /// 执行用户及账号逻辑 /// </summary> /// <param name="context"></param> /// <param name="message"></param> private void ExecuteForUserAndAccount(IRepositoryContext <Transfer> context, Message message) { long userId = 0; TimeOutTryAgain(() => { // execute for user userId = context.ExecuteInsert(message.TargetTable, message.Data).ToLong(); }); // execute for account var ItemDatas = message.Data; foreach (var type in types) { IDictionary <string, object> row = new Dictionary <string, object>(); if (type.Name.IsNullOrEmpty()) { row["Amount"] = 0; } else { if (type.Name.Equals("UE_cp")) { row["Amount"] = GetMessageData(type.Name, message).ToDecimal() * 850; } else { row["Amount"] = GetMessageData(type.Name, message); } } row["Currency"] = type.Currency; row["CreateTime"] = DateTime.Now; row["ExtraDate"] = ""; row["FreezeAmount"] = 0; row["HistoryAmount"] = 0; row["ModifiedTime"] = "0001-01-01 00:00:00.0000000"; row["MoneyTypeId"] = type.MoneyType; row["Remark"] = "from qefgj database."; row["SortOrder"] = 1000; row["Status"] = GetMessageData("Status", message); row["UserId"] = userId; row["SrcId"] = GetMessageData("SrcId", message); context.Execute("Finance_Account", row); } TimeOutTryAgain(() => { ExecuteForUserTypeIndex(context, message, userId); }); }