Beispiel #1
0
        internal override string ValidValue(object aValue)
        {
            DesignByContract.Check.Require(aValue != null, string.Format(CommonStrings.XMustNotBeNull, "aValue"));

            string timeString = aValue.ToString();

            if (!Iso8601Time.ValidIso8601Time(timeString))
            {
                return(string.Format(AmValidationStrings.InvalidIsoTime, timeString));
            }

            Iso8601Time isoTime = new Iso8601Time(timeString);

            if (isoTime == null)
            {
                throw new ApplicationException(string.Format(CommonStrings.XIsNull, "isoTime"));
            }

            if (this.Pattern != null)
            {
                if (!IsMatchPattern(isoTime))
                {
                    return(string.Format(AmValidationStrings.TimeXDoesNotMatchPatternY, isoTime, Pattern));
                }
            }
            if (this.Range != null)
            {
                if (!this.Range.Has(isoTime))
                {
                    return(string.Format(AmValidationStrings.TimeXOutOfRange, isoTime));
                }
            }

            return(string.Empty);
        }
Beispiel #2
0
        public DvTime(string timeString, DvDuration accuracy, string magnitudeStatus, CodePhrase normalStatus,
                      DvInterval <DvTime> normalRange, ReferenceRange <DvTime>[] otherReferenceRanges)
            : this()
        {
            Check.Require(Iso8601Time.ValidIso8601Time(timeString), "Time string(" + timeString + ") must be a valid ISO 8601 time.");

            this.isoTime = new Iso8601Time(timeString);

            base.SetBaseData(accuracy, magnitudeStatus, normalStatus, normalRange, otherReferenceRanges);

            CheckInvariants();
        }