public void TubeResultChanged(object sender, EventArgs e) { if (sender is TubeResult_Control tube && SelectedResult != null && SelectedResult.Gel != null) { String color = null; T_Picture pic = new T_Picture(); RefreshPicture(pic); ResultStr = this.resultService.FinishResult(SelectedResult.Gel, out color, resultService.GetResultEnums(pic, SelectedResult.TubeStartNo, SelectedResult.TubeCount)); if (!String.IsNullOrEmpty(color)) { ColorBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString(color.Trim())); } else { ColorBrush = null; } } }
/// <summary> /// 更新手工结果 /// </summary> /// <returns>是否人工修改过检测值</returns> private bool RefreshPicture(T_Picture picture) { var result = false; var end = SelectedResult.TubeStartNo + SelectedResult.TubeCount; for (var i = SelectedResult.TubeStartNo; i < end; i++) { var tp = typeof(T_Picture).GetProperty($"T{i + 1}"); var res = Convert.ToInt32(tp.GetValue(picture)); var chgVal = (int)((this.View as QueryView).FindName($"Img_Tube{i + 1}") as TubeResult_Control).Value; if (!result) { result = res != chgVal; } if (res != chgVal) { tp.SetValue(picture, chgVal); } } return(result); }
public ResultEnum[] GetResultEnums(T_Picture pic, byte StartNo, byte Total) { IList <ResultEnum> results = new List <ResultEnum>(); for (var i = StartNo; i < StartNo + Total; i++) { int res = 0; switch (i) { case 0: { res = pic.T1; break; } case 1: { res = pic.T2; break; } case 2: { res = pic.T3; break; } case 3: { res = pic.T4; break; } case 4: { res = pic.T5; break; } case 5: { res = pic.T6; break; } case 6: { res = pic.T7; break; } case 7: { res = pic.T8; break; } } results.Add((ResultEnum)res); } return(results.ToArray()); }