Ejemplo n.º 1
0
        public QueryComposerRequestInterrogator(DTO.QueryComposer.QueryComposerRequestDTO request)
        {
            _request = request;
            if (_request.Select == null)
            {
                _request.Select = new DTO.QueryComposer.QueryComposerSelectDTO
                {
                    Fields = Enumerable.Empty <DTO.QueryComposer.QueryComposerFieldDTO>()
                };
            }

            if (_request.Select.Fields == null)
            {
                _request.Select.Fields = Enumerable.Empty <DTO.QueryComposer.QueryComposerFieldDTO>();
            }

            _selectFields = _request.Select.Fields;

            if (_request.Where.Criteria == null)
            {
                _request.Where.Criteria = Enumerable.Empty <DTO.QueryComposer.QueryComposerCriteriaDTO>();
            }

            _primaryCriteria = _request.Where.Criteria.FirstOrDefault();
            if (_primaryCriteria != null)
            {
                _primaryObservationPeriodTerm = _primaryCriteria.Terms.FirstOrDefault(t => t.Type == ModelTermsFactory.ObservationPeriodID);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Attempts to set the sex stratifiction value of the SummaryRequestModel from the specified QueryComposerFieldDTO.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="field"></param>
        protected static void SetSexStratification(SummaryRequestModel model, DTO.QueryComposer.QueryComposerTermDTO field)
        {
            DTO.Enums.SexStratifications value;
            Newtonsoft.Json.Linq.JObject job = field.Values.Select(x => x.Value).FirstOrDefault() as Newtonsoft.Json.Linq.JObject;
            if (field.Values == null || !Enum.TryParse <DTO.Enums.SexStratifications>((job.GetValue("Sex") ?? string.Empty).ToString(), out value))
            {
                throw new Exception("Value for Sex Term is not Valid");
            }

            model.SexStratification = (int)value;
            model.Sex = Utilities.ToString(value);
        }
Ejemplo n.º 3
0
 public static IEnumerable <string> GetCodeNameStringCollection(this DTO.QueryComposer.QueryComposerTermDTO term)
 {
     if (term.GetValue("CodeValues") == null)
     {
         //legacy stuff
         var token = term.GetValue("Codes");
         return(token.Values <string>());
     }
     else
     {
         var token = term.GetValue("CodeValues");
         List <Dns.DTO.CodeSelectorValueDTO> dto = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dns.DTO.CodeSelectorValueDTO> >(token.ToString());
         return(dto.Select(p => p.Name));
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the value as an enum from the QueryComposerTermDTO for the specified key.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="term"></param>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool GetEnumValue <T>(this DTO.QueryComposer.QueryComposerTermDTO term, string key, out T value) where T : struct, IConvertible
        {
            if (term == null)
            {
                value = default(T);
                return(false);
            }

            if (!typeof(T).IsEnum)
            {
                throw new ArgumentException("T must be an enum type.");
            }

            return(Enum.TryParse <T>(term.GetStringValue(key), out value));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Parses the "CodeValues" value of the term into a collection of Dns.DTO.CodeSelectorValueDTO.
        /// </summary>
        /// <param name="term"></param>
        /// <returns></returns>
        public static IEnumerable <Dns.DTO.CodeSelectorValueDTO> GetCodeSelectorValues(this DTO.QueryComposer.QueryComposerTermDTO term)
        {
            var token = term.GetValue("CodeValues");

            if (token == null)
            {
                return(Enumerable.Empty <Dns.DTO.CodeSelectorValueDTO>());
            }

            return(Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dns.DTO.CodeSelectorValueDTO> >(token.ToString()));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Returns the content of the specified key as an IEnumerable&gt;string>.
        /// </summary>
        /// <param name="term"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static IEnumerable <string> GetStringCollection(this DTO.QueryComposer.QueryComposerTermDTO term, string key)
        {
            var token = term.GetValue(key);

            return(token.Values <string>());
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Gets the value as a string from the QueryComposerTermDTO for the specified key.
 /// </summary>
 /// <param name="term"></param>
 /// <param name="key"></param>
 /// <returns></returns>
 public static string GetStringValue(this DTO.QueryComposer.QueryComposerTermDTO term, string key)
 {
     return((string)term.GetValue(key));
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Gets the JToken from the QueryComposerTermDTO for the specified key.
 /// </summary>
 /// <param name="term"></param>
 /// <param name="key"></param>
 /// <returns></returns>
 public static Newtonsoft.Json.Linq.JToken GetValue(this DTO.QueryComposer.QueryComposerTermDTO term, string key)
 {
     return(((Newtonsoft.Json.Linq.JObject)term.Values["Values"]).GetValue(key));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Gets the JObject representing the term values from the specified QueryComposerTermDTO.
 /// </summary>
 /// <param name="term"></param>
 /// <returns></returns>
 public static Newtonsoft.Json.Linq.JObject GetValuesJObject(this DTO.QueryComposer.QueryComposerTermDTO term)
 {
     return(term.Values["Values"] as Newtonsoft.Json.Linq.JObject);
 }