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