Example #1
0
        /// <summary>
        ///     Reads a constraint of the form {MayoQuery} {Discriminator} {ConstraintValue}
        /// </summary>
        /// <param name="constraint"></param>
        /// <returns></returns>
        public static MayoConstraint Read(string constraint)
        {
            var split = constraint.SplitOnWhiteSpace();

            if (split.Length != 3)
            {
                throw new ArgumentException(
                          "Mayo constraints much be 3 parts separated by whitespace : {Query} {Discriminator} {ConstraintValue}");
            }
            if (!MayoQueryReader.IsValid(split[0]))
            {
                throw new ArgumentException(
                          "Not a valid TG263 query! (Examples: D90%[Gy], V20Gy[%], etc)");
            }
            var mq              = MayoQuery.Read(split[0]);
            var discrimator     = DiscriminatorConverter.ReadDiscrimator(split[1]);
            var constraintValue = double.Parse(split[2]);

            return(new MayoConstraint
            {
                Query = mq,
                Discriminator = discrimator,
                ConstraintValue = constraintValue
            });
        }
Example #2
0
 public static MayoQuery Read(string query)
 {
     return(MayoQueryReader.Read(query));
 }