Exemplo n.º 1
0
 /// <summary>
 /// Verifica se no esquema já existem algum metadado associado ao informado.
 /// </summary>
 /// <param name="typeMetadata"></param>
 /// <returns></returns>
 private bool InternalExists(ITypeMetadata typeMetadata)
 {
     typeMetadata.Require("typeMetadata").NotNull();
     if (_typeMetadatasFromFullName.ContainsKey(typeMetadata.FullName))
     {
         return(false);
     }
     if (typeMetadata.TypeCode == 0 && (typeMetadata is TypeMetadata || typeMetadata is AggregateTypeMetadata))
     {
         var code = (_typeMetadatasFromTypeCode.Count > 0 ? _typeMetadatasFromTypeCode.Keys.Where(f => f > 500000).Max() : 500000) + 1;
         if (typeMetadata is TypeMetadata)
         {
             ((TypeMetadata)typeMetadata).TypeCode = code;
         }
         else
         {
             ((AggregateTypeMetadata)typeMetadata).TypeCode = code;
         }
     }
     return(_typeMetadatasFromTypeCode.ContainsKey(typeMetadata.TypeCode));
 }