Example #1
0
        //转换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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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);
            }
        }