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; } } } }