private double?GetDoubleValue(string propertyName, PropertyInfo propertyInfo)
        {
            if (AutoBuilderConfiguration.Conventions.MatchesConvention(propertyName, typeof(double?)))
            {
                return((double?)AutoBuilderConfiguration.Conventions.GetConventionResult(propertyName, typeof(double?), AutoBuilderConfiguration));
            }

            var annotatedType = dataAnnotationConventionMapper.TryGetValue(typeof(double), propertyInfo, AutoBuilderConfiguration);

            if (annotatedType != null)
            {
                return((double)annotatedType);
            }

            return(NAuto.GetRandomDouble(AutoBuilderConfiguration.DoubleMinimum, AutoBuilderConfiguration.DoubleMaximum));
        }
        private int?GetIntValue(string propertyName, PropertyInfo propertyInfo)
        {
            if (AutoBuilderConfiguration.Conventions.MatchesConvention(propertyName, typeof(int?)))
            {
                return((int)AutoBuilderConfiguration.Conventions.GetConventionResult(propertyName, typeof(int?), AutoBuilderConfiguration));
            }

            var annotatedType = dataAnnotationConventionMapper.TryGetValue(typeof(int), propertyInfo, AutoBuilderConfiguration);

            if (annotatedType != null)
            {
                return((int)annotatedType);
            }

            return(NAuto.GetRandomInteger(AutoBuilderConfiguration.IntMinimum, AutoBuilderConfiguration.IntMaximum));
        }
        private string GetStringValue(string propertyName, PropertyInfo propertyInfo)
        {
            if (AutoBuilderConfiguration.Conventions.MatchesConvention(propertyName, typeof(string)))
            {
                return((string)AutoBuilderConfiguration.Conventions.GetConventionResult(propertyName, typeof(string), AutoBuilderConfiguration));
            }

            var annotatedType = dataAnnotationConventionMapper.TryGetValue(typeof(string), propertyInfo, AutoBuilderConfiguration);

            if (annotatedType != null)
            {
                return((string)annotatedType);
            }

            return(NAuto.GetRandomString(
                       AutoBuilderConfiguration.StringMinLength,
                       AutoBuilderConfiguration.StringMaxLength,
                       AutoBuilderConfiguration.DefaultStringCharacterSetType,
                       AutoBuilderConfiguration.DefaultStringSpaces,
                       AutoBuilderConfiguration.DefaultStringCasing,
                       AutoBuilderConfiguration.DefaultLanguage));
        }