using YLErp.BLL;
namespace YLErp.Modules.ExcelAddinModule
{
///
/// 基础数据服务
///
public class BasicDataService
{
public static List 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();
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;
}
}
}
}