Files
zszq-trs/Framework/YLErp.Core/DBModels/ScenarioConfig.cs
T
2024-05-09 14:06:26 +08:00

99 lines
2.3 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
namespace YLErp.DBModels
{
/// <summary>
/// 情景分析配置
/// </summary>
[Table("scenario_config")]
public class ScenarioConfigV2 : DBModelWithOperator
{
/// <summary>
/// 情景名称
/// </summary>
[DisplayName("情景名称")]
public string ConfigName { get; set; }
/// <summary>
/// x轴参数类型
/// </summary>
public string xType { get; set; }
/// <summary>
/// x轴参数变动率
/// </summary>
public string xRates { get; set; }
/// <summary>
/// y轴参数类型
/// </summary>
public string yType { get; set; }
/// <summary>
/// y轴参数变动率
/// </summary>
public string yRates { get; set; }
/// <summary>
/// 所属用户
/// </summary>
[DisplayName("所属用户")]
public int? UserId { get; set; }
/// <summary>
/// 所属交易员
/// </summary>
[DisplayName("所属交易员")]
public string UserName { get; set; }
[DisplayName("特殊情景配置")]
public string SpecialConfig { get; set; }
public ScenarioSpecial ParseSepcial()
{
if (string.IsNullOrEmpty(SpecialConfig))
{
return null;
}
return JsonHelper.Deserialize<ScenarioSpecial>(SpecialConfig);
}
public override string ToString()
{
return ConfigName;
}
}
public class ScenarioSpecial
{
public List<ScenarioSpecialItem> VarityList { get; set; }
public List<ScenarioSpecialItem> UnderlyingList { get; set; }
public bool HasItem()
{
return VarityList != null && VarityList.Any() || UnderlyingList != null && UnderlyingList.Any();
}
public ScenarioSpecial Clone()
{
return (ScenarioSpecial)MemberwiseClone();
}
}
public class ScenarioSpecialItem
{
public int id { get; set; }
public string Name { get; set; }
public double? Rate { get; set; }
public override string ToString()
{
return $"{Name} -- {id} -- {Rate}";
}
}
}