/// <summary> /// Opens the data item browse /// </summary> /// <returns></returns> protected override IQOpResult <DataItemThresholds> OpenEditor(DataItemThresholds defaultValue, IQVarElementTarget target) { var editor = new DataItemThresholdsSelector(); editor.Value = defaultValue; if (editor.ShowDialog() != DialogResult.OK) { return new IQOpResult <DataItemThresholds> { Result = OpResultEnum.Cancelled } } ; return(new IQOpResult <DataItemThresholds> { Result = OpResultEnum.Completed, Value = editor.Value }); }
private string GetDisplayString() { if (Element.Value.ObdGuid == Guid.Empty) { return(String.Empty); } try { var obd = ObsDef.GetEntityByObdGuid(Element.Value.ObdGuid); if (obd.IsNullEntity) { return(String.Empty); } string str = String.Empty; var value = Element.Value; if (obd.Type == (short)MedDefs.ObdType.ItemTable) { if (value.TableItems != null) { var sb = new StringBuilder(); foreach (var item in value.TableItems) { var obdItem = ObsDef.GetEntityByObdGuid(item); sb.AppendFormat("{0}; ", obdItem.LabelDescriptionInactiveIndicator.Trim()); } str = sb.ToString().Trim().TrimEnd(';'); } } else { switch (obd.ObsDefDataFormat) { case ObsDefDataFormat.Numeric: str = FormatNumericThresholds(value); break; case ObsDefDataFormat.Date: if (value.DateRange.Type == InputDateRangeControlType.SpecificDates) { bool startDateValid = value.StartDate.HasValue && value.StartDate.Value > DateTime.MinValue; bool endDateValid = value.EndDate.HasValue && value.EndDate.Value < DateTime.MaxValue; if (startDateValid && endDateValid) { str = String.Format("{0} - {1}", value.StartDate.Value.ToShortDateString(), value.EndDate.Value.ToShortDateString()); } else if (startDateValid) { str = String.Format(">= {0}", value.StartDate.Value.ToShortDateString()); } else if (endDateValid) { str = String.Format("<= {0}", value.EndDate.Value.ToShortDateString()); } } else { str = Element.Value.DateRange.ToReadableString(); } break; case ObsDefDataFormat.String: case ObsDefDataFormat.Memo: if (DataItemThresholdsSelector.UseStringNumericLimits(Element.Value.StringAlgorithm)) { str = FormatNumericThresholds(value); } else { str = String.Format("{0} \"{1}\"", DataItemThresholdsSelector.StringAlgorithmIdToString(Element.Value.StringAlgorithm), Element.Value.StringInput); } break; } } if (String.IsNullOrEmpty(str)) { return(obd.LabelInactiveIndicator.Trim()); } return(String.Format("{0} ({1})", obd.LabelInactiveIndicator.Trim(), str)); } catch (Exception) { return(String.Empty); } }