Files
zszq-trs/Framework/YLErp.Core/DBModels/TradeObervation.cs
T

94 lines
2.8 KiB
C#

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YLErp.Models;
namespace YLErp.DBModels
{
[Table("trade_obersvation")]
public class TradeObervation: DBModelBaseV2
{
/// <summary>
/// 持仓腿id
/// </summary>
[DisplayName("持仓腿id")]
[Column("position_id")]
public long PositionId { get; set; }
/// <summary>
/// 观察周期
/// </summary>
[DisplayName("观察周期")]
[Column("observation_num")]
public int ObservationNum { get; set; }
/// <summary>
/// 观察周期单位
/// </summary>
[DisplayName("观察周期单位")]
[Column("observation_unit")]
public string ObservationUnit { get; set; }
/// <summary>
/// 节假日调整类型
/// </summary>
[DisplayName("节假日调整类型")]
[Column("observation_holiday_type")]
public string ObservationHolidayType { get; set; }
/// <summary>
/// 对齐规则
/// </summary>
[DisplayName("对齐规则")]
[Column("observation_align_end")]
public bool ObservationAlignEnd { get; set; }
/// <summary>
/// 观察间隔
/// </summary>
[DisplayName("观察间隔")]
[Column("observation_interval")]
public string ObservationInterval { get; set; }
/// <summary>
/// 是否扣除本金
/// </summary>
[DisplayName("是否扣除本金")]
[Column("is_deduct_principal")]
public bool IsDeductPrincipal { get; set; }
/// <summary>
/// 观察起始日
/// </summary>
[DisplayName("观察起始日")]
[Column("observation_start")]
public DateTime? ObservationStart { get; set; }
/// <summary>
/// 交易日历
/// </summary>
[DisplayName("交易日历")]
[Column("observation_calendar")]
public string ObservationCalendar { get; set; }
/// <summary>
/// 结算规则
/// </summary>
[DisplayName("结算规则")]
[Column("observation_settlement_rules")]
public int? ObservationSettlementRules { get; set; }
/// <summary>
/// 互换观察日集合
/// </summary>
[NotMapped]
public List<IntervalModel> IntervalList
{
get
{
if (string.IsNullOrEmpty(ObservationInterval))
{
return new List<IntervalModel>();
}
return JsonConvert.DeserializeObject<List<IntervalModel>>(ObservationInterval);
}
}
}
}