57 lines
2.2 KiB
C#
57 lines
2.2 KiB
C#
using YLErp.Model.Enum;
|
|
using YLErp.Modules.TradeModule;
|
|
using YLErp.Modules.TradeModule.OrderModule;
|
|
|
|
namespace YLErp.Modules.ApiModule
|
|
{
|
|
[TestClass]
|
|
public class OrderOptionServiceTest : UnitTestBase
|
|
{
|
|
[TestMethod("api/v1/order/option")]
|
|
public void OrderOptionTest()
|
|
{
|
|
var db = DbContextFactory.GetYLDbContext();
|
|
var td = db.trade.FirstOrDefault(n => n.TradeNumber == "CW20160001C0259");
|
|
var tdFull = TradeConverter.ConvertToOptionTrade(td);
|
|
var tdFullEx = YieldChain.Helpers.ObjectHelper.MapValues<OtcOptionTradeFullEx>(tdFull);
|
|
tdFullEx._Update = true;
|
|
var trade = new OtcTradeSaveService(GetOptUser()).SaveOptionTradeFromApiOrImport(tdFullEx, TradeSourceEnum.WebApiV2);
|
|
Console.WriteLine("成功");
|
|
}
|
|
|
|
[TestMethod("api/v1/order/group_options")]
|
|
public void TestSaveGroupOptionTradeFromApiOrImport()
|
|
{
|
|
var db = DbContextFactory.GetYLDbContext();
|
|
var list = new List<OtcOptionTradeFullEx>();
|
|
|
|
foreach (var tr in new[] { "CW20180051E0181", "CW20180051E0180" })
|
|
{
|
|
var td = db.trade.AsNoTracking().FirstOrDefault(n => n.TradeNumber == tr);
|
|
var tdFull = TradeConverter.ConvertToOptionTrade(td);
|
|
var tdFullEx = YieldChain.Helpers.ObjectHelper.MapValues<OtcOptionTradeFullEx>(tdFull);
|
|
tdFullEx.id = 0;
|
|
tdFullEx.TradeNumber = null;
|
|
tdFullEx.IsGroup = 2;
|
|
list.Add(tdFullEx);
|
|
}
|
|
|
|
var td1 = (OtcOptionTradeFullEx)list[0].Clone();
|
|
td1.IsGroup = 1;
|
|
td1.TradeType = "结构化交易";
|
|
td1.StructureType = "自定义类型11";
|
|
td1.ExtendInfo = "[{\"name\":\"属性1\",\"value\":\"默认11\"}]";
|
|
list.Insert(0, td1);
|
|
|
|
var model = new StructureOrderRequest
|
|
{
|
|
Trades = list
|
|
};
|
|
|
|
var trade = new OtcTradeSaveService(GetOptUser()).SaveGroupOptionTradeFromApiOrImport(model, TradeSourceEnum.WebApiV2);
|
|
|
|
Console.WriteLine(trade.TradeNumber);
|
|
}
|
|
}
|
|
}
|