protected virtual IList <string> GetValues(IDicomDataParameter condition)
        {
            if (condition is RangeMatching)
            {
                RangeMatching rangeCondition = (RangeMatching)condition;
                fo.DicomItem  dateElement    = rangeCondition.DateElement;
                fo.DicomItem  timeElement    = rangeCondition.TimeElement;


                return(GetDateTimeValues((fo.DicomElement)dateElement, (fo.DicomElement)timeElement));
            }
            else if (condition.VR.Equals(fo.DicomVR.DA) || condition.VR.Equals(fo.DicomVR.DT))
            {
                fo.DicomElement dateElement = null;
                fo.DicomElement timeElement = null;

                foreach (var element in condition.Elements)
                {
                    if (element.ValueRepresentation.Equals(fo.DicomVR.DA))
                    {
                        dateElement = (fo.DicomElement)element;
                        continue;
                    }

                    if (element.ValueRepresentation.Equals(fo.DicomVR.TM))
                    {
                        timeElement = (fo.DicomElement)element;
                    }
                }

                return(GetDateTimeValues(dateElement, timeElement));
            }
            else
            {
                return(condition.GetValues( ));
            }
        }
        protected virtual IList <string> GetValues(IDicomDataParameter condition)
        {
            if (condition is RangeMatching)
            {
                RangeMatching  rangeCondition = (RangeMatching)condition;
                DicomAttribute dateElement    = rangeCondition.DateElement;
                DicomAttribute timeElement    = rangeCondition.TimeElement;


                return(GetDateTimeValues(dateElement, timeElement));
            }
            else if (condition.VR.Equals(DicomVr.DAvr) || condition.VR.Equals(DicomVr.DTvr))
            {
                DicomAttribute dateElement = null;
                DicomAttribute timeElement = null;

                foreach (var element in condition.Elements)
                {
                    if (element.Tag.VR.Equals(DicomVr.DAvr))
                    {
                        dateElement = element;
                        continue;
                    }

                    if (element.Tag.VR.Equals(DicomVr.TMvr))
                    {
                        timeElement = element;
                    }
                }

                return(GetDateTimeValues(dateElement, timeElement));
            }
            else
            {
                return(condition.GetValues( ));
            }
        }