namespace Yw.Application.Health
{
///
///
///
public static class Extensions
{
///
/// 获取区间值
///
public static string GetRangeValue(this Model.HealthResult rhs)
{
if (rhs == null)
return default;
var sb = new StringBuilder();
switch (rhs.MinType)
{
case Model.eCompareType.GreatThen: sb.Append("("); break;
case Model.eCompareType.GreatOrEqual: sb.Append("["); break;
default: break;
}
sb.Append(rhs.MinValue);
sb.Append(",");
sb.Append(rhs.MaxValue);
switch (rhs.MaxType)
{
case Model.eCompareType.LessThen: sb.Append(")"); break;
case Model.eCompareType.LessOrEqual: sb.Append("]"); break;
default: break;
}
return sb.ToString();
}
///
/// 获取评价参数
///
public static string GetEvaluation(this Model.HealthQuotaEvaluationModel rhs)
{
var list = rhs.GetEvaluationList();
if (list == null || !list.Any())
return string.Empty;
var sb = new StringBuilder();
for (int i = 0; i < list.Count; i++)
{
sb.Append($"{i + 1}.{list[i]};");
}
return sb.ToString();
}
///
/// 获取评价参数列表
///
public static List GetEvaluationList(this Model.HealthQuotaEvaluationModel rhs)
{
var list = new List();
switch (rhs.Way)
{
case eEvaluateWay.Auto:
{
var evalModel = Model.Health.AutoEvaluation.ToModel(rhs.Evaluation);
if (evalModel != null)
{
if (evalModel.Items != null && evalModel.Items.Count > 0)
{
for (int i = 0; i < evalModel.Items.Count; i++)
{
var item = evalModel.Items[i];
string content;
if (item.MinValue.HasValue)
{
if (item.MaxValue.HasValue)
{
content = $"[{item.MinValue},{item.MaxValue}]={item.Expression}";
}
else
{
content = $"≥{item.MinValue}={item.Expression}";
}
}
else
{
if (item.MaxValue.HasValue)
{
content = $"≤{item.MaxValue}={item.Expression}";
}
else
{
content = item.Expression;
}
}
list.Add(content);
}
}
}
}
break;
case eEvaluateWay.Hand:
{
var evalModel = Model.Health.HandEvaluation.ToModel(rhs.Evaluation);
if (evalModel != null)
{
if (evalModel.Items != null && evalModel.Items.Count > 0)
{
for (int i = 0; i < evalModel.Items.Count; i++)
{
var item = evalModel.Items[i];
list.Add(item);
}
}
}
}
break;
default: break;
}
return list;
}
}
}