44 lines
1.8 KiB
C#
44 lines
1.8 KiB
C#
using YLErp.BLL;
|
|
|
|
namespace YLErp.Modules.ExcelAddinModule
|
|
{
|
|
/// <summary>
|
|
/// 基础数据服务
|
|
/// </summary>
|
|
public class BasicDataService
|
|
{
|
|
public static List<UnderlyingManagerInfo> GetUnderlyingList()
|
|
{
|
|
using (var context = new YLContext())
|
|
{
|
|
var limitLowDate = DateTime.Now.AddYears(-3);
|
|
var underlyings = from source in context.underlying_manager.AsNoTracking()
|
|
join vari in context.variety.AsNoTracking() on source.UnderlyingTypeId equals vari.id into varies
|
|
from vari in varies.DefaultIfEmpty()
|
|
select new { underlying = source, variety = vari };
|
|
|
|
var result = new List<UnderlyingManagerInfo>();
|
|
underlyings.ToList().ForEach(x =>
|
|
{
|
|
double.TryParse(x.variety.MinPriceChange, out var priceTick);
|
|
result.Add(new UnderlyingManagerInfo()
|
|
{
|
|
Code = x.underlying.UnderlyingCode,
|
|
Name = x.underlying.UnderlyingName,
|
|
Exchange = x.underlying.MarketCode,
|
|
Product_Class = x.underlying.CommodityCode,
|
|
Underlying_Code = x.underlying.UnderlyingCode,
|
|
Expire_Date = x.underlying.MaturityDate,
|
|
Multiple = x.variety.TradeUnitValue ?? 0,
|
|
Price_Tick = priceTick,
|
|
Long_Margin_Ratio = x.underlying.MarginRate ?? 0,
|
|
Short_Margin_Ratio = x.underlying.MarginRate ?? 0
|
|
});
|
|
});
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
}
|