/// <summary> /// Tipos básicos não possuem transformações especiais. /// </summary> /// <param name="valueTypes"></param> /// <returns></returns> private static TypeBase GetTypeFromValue(TypeRef valueTypes) { if (valueTypes == null) { return(null); } switch (valueTypes.AsString().ToLower()) { case "byte[]": case "string": return(StringType.Create()); case "int": return(IntegerType.Create()); case "int?": return(IntegerType.CreateNullable()); case "datetime": return(DateType.Create()); case "datetime?": return(DateType.CreateNullable()); case "long": return(LongType.Create()); case "long?": return(LongType.CreateNullable()); case "bool": return(BoolType.Create()); case "bool?": return(BoolType.CreateNullable()); default: throw new ArgumentOutOfRangeException("valueTypes", "Não foi possível determinar o tipo da propriedade!"); } }
/// <summary> /// Cria um tipo Referencia, no final irá virar um longType, porém com annotations de lookup. /// </summary> /// <param name="reference"></param> /// <returns></returns> private static TypeBase GetTypeFromReference(TypeRef reference) { return(reference.AsString().ToLower() == "long" ? ReferenceType.Create() : ReferenceType.CreateNullable()); }