ListAction
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using SysUtility;
using SysUtility.Utils;
using SysUtility.BaseEntity;
using SysUtility.WebControls;
using Entities;
using Microsoft.ApplicationBlocks.Data;
using Microsoft.ApplicationBlocks.ExceptionManagement;
using System.EnterpriseServices;
using Business.Manager;
namespace Business
{
/// <summary>
/// LmeTradingManager 的摘要说明。
/// </summary>
[Transaction(TransactionOption.Required)]
public class LmeTradingManager : ServicedComponent
{
IController adminHelper = new RMController();
#region LmeSave
[AutoComplete]
public bool LmeSave(TaskEntity taskEntity, LmeTradingEntity lmeEntity, ArrayList listMemo, int commSettingId)
{
return LmeSave(taskEntity, lmeEntity, listMemo, commSettingId, false);
}
[AutoComplete]
public bool LmeSave(TaskEntity taskEntity, LmeTradingEntity lmeEntity, ArrayList listMemo, int commSettingId, bool istrade)
{
bool bresult = true;
int taskId = -1;
try
{
int oldTaskId = taskEntity.Id;
// 设置备注列表
string strMemoListId = SSNGenerator.GetSSNValue(KeyConsts.SSNCONSTS_MEMOS);
MemosEntity memosEntity;
for ( int i = 0; i < listMemo.Count; i++ )
{
memosEntity = (MemosEntity)listMemo[i];
memosEntity.MemoList = int.Parse(strMemoListId);
bresult &= (adminHelper.Insert(memosEntity) > 0);
}
taskId = int.Parse(SSNGenerator.GetSSNValue(KeyConsts.SSNCONSTS_TASK));
taskEntity.Id = taskId;
lmeEntity.TaskId = taskId;
lmeEntity.MemoList = int.Parse(strMemoListId);
lmeEntity.FinalPrice = 0; // 最终价格
// 插入信息
bresult &= (adminHelper.Insert(taskEntity) > 0) & (adminHelper.Insert(lmeEntity) > 0);
CommSettingEntity commSetting = new CommSettingEntity();
commSetting.Id = commSettingId;
ConvertUtil.FillEntity(commSetting);
// 对佣金进行扣取
if ( commSetting.SettlementType.Equals("1") )
{
// 插入财务任务纪录
FinancialTaskEntity financial = new FinancialTaskEntity();
financial.Id = int.Parse(SSNGenerator.GetSSNValue(KeyConsts.SSNCONSTS_FINANCIALTASK));
financial.Type = "1";
bresult &= (adminHelper.Insert(financial) > 0);
// 插入佣金设置纪录
CommBakEntity commbak = new CommBakEntity();
commbak.Id = int.Parse(SSNGenerator.GetSSNValue(KeyConsts.SSNCONSTS_COMMBAK));
commbak.CommId = commSetting.Id;
commbak.CommType = commSetting.CommType;
commbak.CommRate = commSetting.CommRate;
commbak.CommMoney = commSetting.CommMoney;
commbak.CommMT = commSetting.CommMT;
commbak.CommWT = commSetting.CommWT;
commbak.SettlementType = commSetting.SettlementType;
commbak.Memo = commSetting.Memo;
bresult &= (adminHelper.Insert(commbak) > 0);
// 插入客户佣金结算纪录
CusCommSettleEntity cusCommSettle = new CusCommSettleEntity();
cusCommSettle.FinTaskId = financial.Id;
cusCommSettle.TaskId = taskEntity.Id;
cusCommSettle.Commission = lmeEntity.CommMoney;
cusCommSettle.MoneyType = lmeEntity.CommMT;
bresult &= (adminHelper.Insert(cusCommSettle) > 0);
// 获得与佣金币种一致的客户账户Account(当然是该下单得客户),修改Cash=Cash-佣金
bresult &= LmeAdmin.SetAccountCash(taskEntity.DenoterId, lmeEntity.CommMoney, lmeEntity.CommMT);
// 纪录财务帐号历史(HisAccount)
bresult &= LmeAdmin.SaveHisAccount(taskEntity.StafferId, "1", financial.Id, taskEntity.DenoterId, lmeEntity.CommMT);
}
// 是接单后的下单则插入关系
if ( istrade )
{
TradeRelationEntity tradeRelation = new TradeRelationEntity();
tradeRelation.CusTaskId = oldTaskId;
tradeRelation.BrokerTaskId = taskId;
bresult &= (adminHelper.Insert(tradeRelation) > 0);
}
}
catch ( Exception ex )
{
bresult = false;
ExceptionManager.Publish(ex);
}
if ( !bresult )
{
ContextUtil.SetAbort();
}
else
{
taskEntity.Id = taskId;
}
return bresult;
}
[AutoComplete]
public bool LmeSave(TelConfirmationEntity telConfirmationEntity, string comId)
{
bool bresult = true;
try
{
float tradePrice;
float tradeQuantity;
float telStepPrice;
float telStepQuantity;
float allTelStepQuantity;
int iresult = LmeAdmin.LmeTelStepValidate(telConfirmationEntity, comId,
out tradePrice, out tradeQuantity, out telStepPrice, out telStepQuantity, out allTelStepQuantity);
if ( tradeQuantity<(allTelStepQuantity+telStepQuantity) )
{
bresult = false;
}
if ( bresult )
{
bresult &= (adminHelper.Insert(telConfirmationEntity) > 0);
LmeAdmin.LmeTelStepValidate(telConfirmationEntity, comId,
out tradePrice, out tradeQuantity, out telStepPrice, out telStepQuantity, out allTelStepQuantity);
if ( tradeQuantity < allTelStepQuantity )
{
bresult = false;
}
if ( bresult )
{
if ( tradeQuantity==allTelStepQuantity )
{
// 设置相应的下单的状态
TaskEntity taskSearch = new TaskEntity();
taskSearch.Id = telConfirmationEntity.TaskId;
TaskEntity taskResult = new TaskEntity();
taskResult.Status = "1";
bresult &= (adminHelper.Update(taskResult, taskSearch)> 0);
// 设置相应的接单的状态
//bresult &= (LmeAdmin.SetAcceptLmeStatus(telConfirmationEntity.TaskId)==1);
}
if ( tradeQuantity>=allTelStepQuantity )
{
// 设置最终价格
bresult &= (LmeAdmin.SetLmeFinalPrice(telConfirmationEntity.TaskId)==1);
}
}
}
}
catch ( Exception ex )
{
bresult = false;
ExceptionManager.Publish(ex);
}
if ( !bresult )
{
ContextUtil.SetAbort();
}
return bresult;
}
[AutoComplete]
public bool LmeSave(FaxConfirmationEntity faxEntity, ArrayList listMemo)
{
bool bresult = true;
try
{
// 设置备注列表
string strMemoListId = SSNGenerator.GetSSNValue(KeyConsts.SSNCONSTS_MEMOS);
MemosEntity memosEntity;
for ( int i = 0; i < listMemo.Count; i++ )
{
memosEntity = (MemosEntity)listMemo[i];
memosEntity.MemoList = int.Parse(strMemoListId);
bresult &= (adminHelper.Insert(memosEntity) > 0);
}
faxEntity.MemoList = int.Parse(strMemoListId);
bresult &= (adminHelper.Insert(faxEntity) > 0);
}
catch ( Exception ex )
{
bresult = false;
ExceptionManager.Publish(ex);
}
if ( !bresult )
{
ContextUtil.SetAbort();
}
return bresult;
}
#endregion
[AutoComplete]
public bool LmeUpdate(int taskId, TaskEntity taskEntity, LmeTradingEntity lmeEntity, ArrayList listMemo)
{
bool bresult = true;
try
{
// 设置备注列表
MemosEntity memosEntity = new MemosEntity();
int iMemoListId = lmeEntity.MemoList;
memosEntity.MemoList = iMemoListId;
adminHelper.Delete(memosEntity);
for ( int i = 0; i < listMemo.Count; i++ )
{
memosEntity = (MemosEntity)listMemo[i];
memosEntity.MemoList = iMemoListId;
bresult &= (adminHelper.Insert(memosEntity) > 0);
}
taskEntity.Id = taskId;
lmeEntity.TaskId = taskId;
lmeEntity.MemoList = iMemoListId;
LmeTradingEntity lmeEntitySearch = new LmeTradingEntity();
lmeEntitySearch.TaskId = taskId;
TaskEntity taskEntitySearch = new TaskEntity();
taskEntitySearch.Id = taskId;
// 修改信息
bresult &= (adminHelper.Update(taskEntity,taskEntitySearch) > 0) & (adminHelper.Update(lmeEntity, lmeEntitySearch) > 0);
}
catch ( Exception ex )
{
bresult = false;
ExceptionManager.Publish(ex);
}
if ( !bresult )
{
ContextUtil.SetAbort();
}
return bresult;
}
[AutoComplete]
public bool LmeUpdate(int taskId, FaxConfirmationEntity faxEntity, ArrayList listMemo)
{
bool bresult = true;
try
{
// 设置备注列表
MemosEntity memosEntity = new MemosEntity();
int iMemoListId = faxEntity.MemoList;
memosEntity.MemoList = iMemoListId;
adminHelper.Delete(memosEntity);
for ( int i = 0; i < listMemo.Count; i++ )
{
memosEntity = (MemosEntity)listMemo[i];
memosEntity.MemoList = iMemoListId;
bresult &= (adminHelper.Insert(memosEntity) > 0);
}
faxEntity.TaskId = taskId;
faxEntity.MemoList = iMemoListId;
FaxConfirmationEntity faxEntitySearch = new FaxConfirmationEntity();
faxEntitySearch.TaskId = taskId;
// 修改信息
bresult &= (adminHelper.Update(faxEntity,faxEntitySearch) > 0);
}
catch ( Exception ex )
{
bresult = false;
ExceptionManager.Publish(ex);
}
if ( !bresult )
{
ContextUtil.SetAbort();
}
return bresult;
}
[AutoComplete]
public bool LmeRowDelete(int taskId)
{
string sqlText = "LmeRowDelete";
SqlParameter[] sqlParas = new SqlParameter[4];
sqlParas[0] = new SqlParameter("@TaskId", taskId);
sqlParas[1] = new SqlParameter("@ReturnValue", SqlDbType.Int);
sqlParas[1].Direction = ParameterDirection.ReturnValue;
SqlHelper.ExecuteNonQuery(SystemConsts.SiteSqlServer, CommandType.StoredProcedure, sqlText, sqlParas);
return int.Parse(sqlParas[1].Value.ToString())==1;
}
}
}
浙公网安备 33010602011771号