//转换MODEL private VitalSignCurveDetailModel ConvertToDetailModel(MedVitalSignCurveDetail detail) { VitalSignCurveDetailModel detailMode = new VitalSignCurveDetailModel(); detailMode.CurveName = detail.CurveName; detailMode.CurveCode = detail.CurveCode; detailMode.Visible = detail.Visible; string type = detail.SymbolType.ToString(); LegendItem item = new LegendItem(); item.Code = detail.CurveCode; item.DisplayName = detail.CurveName; item.Symbol = new SymbolModel((SymbolType)Enum.Parse(typeof(SymbolType), type)); detailMode.LegendList.Add(item); // detailMode.LegendDictionary.Add(detail.CurveName, new SymbolModel((SymbolType)Enum.Parse(typeof(SymbolType), type))); detailMode.SymbolEntry = detail.SymbolEntry; detailMode.Color = detail.Color; detailMode.DecimalDigits = detail.DotNumber; string showType = detail.ShowType.ToString(); detailMode.ShowType = (CurveShowType)Enum.Parse(typeof(CurveShowType), showType); detailMode.YAxisIndex = detail.YAxisIndex; string showTime = detail.ShowTimeInterval.ToString(); detailMode.ShowTimeInterval = (ShowTimeInterval)Enum.Parse(typeof(ShowTimeInterval), showTime); DateTimeRangeModel timeRange = new DateTimeRangeModel(detail.HideStartTime, detail.HideEndTime); detailMode.HideTime = new List <DateTimeRangeModel>(); detailMode.HideTime.Add(timeRange); return(detailMode); }
/// <summary> /// 转换 /// </summary> /// <param name="detail"></param> /// <returns></returns> private MedVitalSignCurveDetail ConvertToCurveDetail(VitalSignCurveDetailModel detail) { MedVitalSignCurveDetail detailMode = new MedVitalSignCurveDetail(); detailMode.CurveName = detail.CurveName; detailMode.CurveCode = detail.CurveCode; detailMode.Visible = detail.Visible; detailMode.SymbolType = (MedSymbolType)Enum.Parse(typeof(MedSymbolType), detail.LegendList[0].Symbol.SymbolType.ToString()); detailMode.SymbolEntry = detail.SymbolEntry; detailMode.Color = detail.Color; detailMode.DotNumber = detail.DecimalDigits; string showType = detail.ShowType.ToString(); detailMode.ShowType = (MedCurveShowType)Enum.Parse(typeof(MedCurveShowType), showType); detailMode.YAxisIndex = detail.YAxisIndex; string showTime = detail.ShowTimeInterval.ToString(); detailMode.ShowTimeInterval = (MedShowTimeInterval)Enum.Parse(typeof(MedShowTimeInterval), showTime); if (detail.HideTime != null && detail.HideTime.Count > 0) { if (detail.HideTime[0].StartDateTime != null && detail.HideTime[0].StartDateTime.Value != DateTime.MinValue) { detailMode.HideStartTime = detail.HideTime[0].StartDateTime.Value; } if (detail.HideTime[0].EndDateTime != null && detail.HideTime[0].EndDateTime.Value != DateTime.MinValue) { detailMode.HideEndTime = detail.HideTime[0].EndDateTime.Value; } } return(detailMode); }
private MedVitalSignCurveDetail ConvertToCurveDetail(VitalSignCurveDetailModel detail) { MedVitalSignCurveDetail detailMode = new MedVitalSignCurveDetail(); detailMode.CurveName = detail.CurveName; detailMode.CurveCode = detail.CurveCode; detailMode.Visible = detail.Visible; detailMode.SymbolType = (MedSymbolType)Enum.Parse(typeof(MedSymbolType), detail.LegendList[0].Symbol.SymbolType.ToString()); detailMode.SymbolEntry = detail.SymbolEntry; detailMode.Color = detail.Color; detailMode.DotNumber = detail.DecimalDigits; string showType = detail.ShowType.ToString(); detailMode.ShowType = (MedCurveShowType)Enum.Parse(typeof(MedCurveShowType), showType); detailMode.YAxisIndex = detail.YAxisIndex; string showTime = detail.ShowTimeInterval.ToString(); detailMode.ShowTimeInterval = (MedShowTimeInterval)Enum.Parse(typeof(MedShowTimeInterval), showTime); return(detailMode); }
private string CustomShowValue(List <MedVitalSignCurveDetail> curveDetail, MedSheetRow item, object rowValue) { string showValue = string.Empty; double tempValue = -1.0; if (rowValue != null && double.TryParse(rowValue.ToString(), out tempValue) && tempValue > 0) { MedVitalSignCurveDetail tempCurveDetail = curveDetail.Find(x => x.CurveCode.Equals(item.ItemCode)); if (null != tempCurveDetail) { showValue = tempValue.ToString(string.Format("F{0}", tempCurveDetail.DotNumber)); } else { showValue = tempValue.ToString(string.Format("F{0}", 0)); } } else { showValue = rowValue == null ? string.Empty : rowValue.ToString(); } return(showValue); }
/// <summary> /// 保存数据 /// </summary> /// <returns></returns> protected override SaveResult SaveData() { List <VitalSignCurveDetailModel> list = Args[0] as List <VitalSignCurveDetailModel>; foreach (LegendItemEx item in DetailModel) { if (item.Code != null) { foreach (VitalSignCurveDetailModel detail in list) { if (item.Code == detail.CurveCode) { detail.Visible = item.Visible.Equals("是") ? true : false; detail.Color = item.LineColor; string ShowTypeName = SelectShowType.Where(x => x.ITEM_NAME == item.ShowType).FirstOrDefault().ITEM_CODE; detail.ShowType = (CurveShowType)Enum.Parse(typeof(CurveShowType), ShowTypeName); string TimeIntervalName = SelectShowTimeInterval.Where(x => x.ITEM_NAME == item.TimeInterval).FirstOrDefault().ITEM_CODE; detail.ShowTimeInterval = (ShowTimeInterval)Enum.Parse(typeof(ShowTimeInterval), TimeIntervalName); detail.SymbolEntry = item.SymbolName; string SymbolName = SelectSymbol.Where(x => x.ITEM_NAME == item.SymbolName).FirstOrDefault().ITEM_CODE; detail.LegendList[0].Symbol.SymbolType = (SymbolType)Enum.Parse(typeof(SymbolType), SymbolName); detail.HideTime[0].StartDateTime = item.HideStart == null ? null : item.HideStart; detail.HideTime[0].EndDateTime = item.HideEnd == null ? null : item.HideEnd; } } } } string tableName = "UserVitalShowSet" + ((Convert.ToInt32(ExtendAppContext.Current.EventNo) < 0) ? "0" : ExtendAppContext.Current.EventNo); DataTable dataTable = new DataTable(tableName); System.Reflection.PropertyInfo[] propertyInfos = typeof(MedVitalSignCurveDetail).GetProperties(); foreach (System.Reflection.PropertyInfo propertyInfo in propertyInfos) { dataTable.Columns.Add(propertyInfo.Name); } foreach (VitalSignCurveDetailModel obj in list) { MedVitalSignCurveDetail detail = ConvertToCurveDetail(obj); DataRow row = dataTable.NewRow(); foreach (System.Reflection.PropertyInfo propertyInfo in propertyInfos) { if (propertyInfo.Name.Equals("LegendList")) { string symbolStr = ""; for (int i = 0; i < obj.LegendList.Count; i++) { symbolStr += obj.LegendList[i].Symbol.SymbolType.ToString(); symbolStr += "|"; } row[propertyInfo.Name] = symbolStr; } else if (propertyInfo.Name.Equals("HideTime")) { string time = ""; for (int i = 0; i < obj.HideTime.Count; i++) { if (obj.HideTime[0].StartDateTime != null && obj.HideTime[0].StartDateTime != DateTime.MinValue || obj.HideTime[0].StartDateTime != DateTime.MaxValue) { time += obj.HideTime[0].StartDateTime.ToString() + "&" + obj.HideTime[0].EndDateTime.ToString(); time += "|"; } } row[propertyInfo.Name] = time; } else { row[propertyInfo.Name] = AssemblyHelper.GetPropertyValue(propertyInfo, detail); } } dataTable.Rows.Add(row); } System.IO.MemoryStream stream = new System.IO.MemoryStream(); dataTable.WriteXml(stream); stream.Position = 0; byte[] bytes = FileHelper.StreamToBytes(stream); MED_PATIENT_MONITOR_CONFIG configRow = AnesInfoService.ClientInstance.GetPatientMonitorConfig(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID, ExtendAppContext.Current.PatientInformationExtend.VISIT_ID, ExtendAppContext.Current.PatientInformationExtend.OPER_ID, ExtendAppContext.Current.EventNo); if (configRow == null) { configRow = new MED_PATIENT_MONITOR_CONFIG(); configRow.PATIENT_ID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID; configRow.VISIT_ID = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID; configRow.OPER_ID = ExtendAppContext.Current.PatientInformationExtend.OPER_ID; configRow.EVENT_NO = ExtendAppContext.Current.EventNo; } configRow.CONTENT = bytes; if (AnesInfoService.ClientInstance.updatePatMonitorConfig(configRow)) { return(SaveResult.Success); } else { return(SaveResult.Fail); } }