从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
using System.Data;
|
||||
|
||||
namespace YLErp.Modules.UnderlyingModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 场内期权数据服务
|
||||
/// </summary>
|
||||
public class ExchangeOptionDataService : YLBaseService
|
||||
{
|
||||
public ExchangeOptionDataService(OptUserInfo userInfo) : base(userInfo)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ExchangeOptionDataService(YLBaseService baseService) : base(baseService)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询exchange_list_option
|
||||
/// </summary>
|
||||
public IPagedList<ExchangeListOption> SearchList(ExchangeOptionReq req)
|
||||
{
|
||||
var predicate = PredicateBuilder.True<ExchangeListOption>();
|
||||
|
||||
if (!string.IsNullOrEmpty(req.ContractCode))
|
||||
{
|
||||
predicate = predicate.And(d => d.ContractCode.Contains(req.ContractCode));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.UnderlyingCode))
|
||||
{
|
||||
predicate = predicate.And(d => d.UnderlyingCode.Contains(req.UnderlyingCode));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.OptionType))
|
||||
{
|
||||
predicate = predicate.And(d => d.OptionType.Contains(req.OptionType));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.ExerciseMode))
|
||||
{
|
||||
predicate = predicate.And(d => d.ExerciseMode.Contains(req.ExerciseMode));
|
||||
}
|
||||
|
||||
if (req.MaturityDateStart != DateTime.MinValue)
|
||||
{
|
||||
predicate = predicate.And(d => d.MaturityDate >= req.MaturityDateStart);
|
||||
}
|
||||
|
||||
if (req.MaturityDateEnd != DateTime.MinValue)
|
||||
{
|
||||
predicate = predicate.And(d => d.MaturityDate <= req.MaturityDateEnd);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.MarketCode))
|
||||
{
|
||||
predicate = predicate.And(d => d.MarketCode == req.MarketCode);
|
||||
}
|
||||
|
||||
var query = DbContext.exchange_list_option.Where(predicate);
|
||||
|
||||
return query.ToPagedList(req);
|
||||
}
|
||||
|
||||
public IEnumerable<ExchangeListOption> GetSelectItems(string underlyingCode)
|
||||
{
|
||||
return DbContext.exchange_list_option.Where(n => n.UnderlyingCode == underlyingCode).OrderByDescending(n => n.id).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public class ExchangeOptionReq : PagedQueryModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 合约代码
|
||||
/// </summary>
|
||||
public string ContractCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标的代码
|
||||
/// </summary>
|
||||
public string UnderlyingCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 看涨看跌
|
||||
/// </summary>
|
||||
public string OptionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 行权方式
|
||||
/// </summary>
|
||||
public string ExerciseMode { get; set; }
|
||||
|
||||
public DateTime MaturityDateStart { get; set; }
|
||||
|
||||
public DateTime MaturityDateEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 市场代码
|
||||
/// </summary>
|
||||
public string MarketCode { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user