Example #1
0
        public static FieldType GetFieldType(this DataTypeReference dataTypeReference, ILogger logger, SchemaFile file)
        {
            if (dataTypeReference is SqlDataTypeReference sqlDataTypeReference)
            {
                return(sqlDataTypeReference.GetFieldType());
            }

            if (dataTypeReference is UserDataTypeReference)
            {
                return(FieldType.UserDataType);
            }

            if (dataTypeReference is XmlDataTypeReference)
            {
                return(FieldType.Xml);
            }

            logger.Log(LogLevel.Warning,
                       LogType.NotSupportedYet,
                       file.Path,
                       $"{dataTypeReference.GetType()} column type is not supported yet. " +
                       $"Fragment: \"{dataTypeReference.GetTokenText()}\"");

            return(FieldType.NotSpecified);
        }
        public static string DataType(DataTypeReference dtype)
        {
            switch (dtype.GetType().Name)
            {
            case "SqlDataTypeReference":
            {
                var sqltype = dtype as SqlDataTypeReference;
                var sb      = new StringBuilder(1024);
                sb.Append(SchemaObjectName(sqltype.Name));
                if (sqltype.Parameters.Any())
                {
                    sb.Append("(");
                    for (var j = 0; j < sqltype.Parameters.Count; ++j)
                    {
                        if (j > 0)
                        {
                            sb.Append(", ");
                        }
                        sb.Append(sqltype.Parameters[j].Value);
                    }
                    sb.Append(")");
                }
                return(sb.ToString());
            }

            default:
                return("");
            }
        }
Example #3
0
        public static Field GetField(this DataTypeReference dataTypeReference, string name, bool isNullable, ILogger logger, SchemaFile file)
        {
            if (dataTypeReference is SqlDataTypeReference sqlDataTypeReference)
            {
                return(sqlDataTypeReference.GetField(name, isNullable, logger, file));
            }
            if (dataTypeReference is UserDataTypeReference userDataTypeReference)
            {
                return(userDataTypeReference.GetField(name, isNullable, logger, file));
            }
            if (dataTypeReference is XmlDataTypeReference xmlDataTypeReference)
            {
                return(new DefaultField()
                {
                    Name = name,
                    Type = FieldType.Xml,
                    IsNullable = isNullable,
                });
            }

            logger.Log(LogLevel.Warning,
                       LogType.NotSupportedYet,
                       file.Path,
                       $"{dataTypeReference.GetType()} data type reference is not supported yet. " +
                       $"Fragment: \"{dataTypeReference.GetTokenText()}\"");

            return(new UnknownField()
            {
                Name = name,
            });
        }
 public static string DataType(DataTypeReference dtype)
 {
     switch (dtype.GetType().Name)
     {
         case "SqlDataTypeReference":
             {
                 var sqltype = dtype as SqlDataTypeReference;
                 var sb = new StringBuilder(1024);
                 sb.Append(SchemaObjectName(sqltype.Name));
                 if (sqltype.Parameters.Any())
                 {
                     sb.Append("(");
                     for (var j = 0; j < sqltype.Parameters.Count; ++j)
                     {
                         if (j > 0)
                             sb.Append(", ");
                         sb.Append(sqltype.Parameters[j].Value);
                     }
                     sb.Append(")");
                 }
                 return sb.ToString();
             }
         default:
             return "";
     }
 }