in src/Readers/Vipr.Reader.OData.v4/OdcmReader.cs [212:251]
private void WriteNamespaceShallow(IEdmModel edmModel, string @namespace)
{
_odcmModel.AddNamespace(@namespace);
var allElements = AllElementsByNamespace(edmModel.SchemaElements, @namespace).ToList();
var types = AllTypes(allElements).ToList();
foreach (var enumType in AllEnumTypes(types))
{
_odcmModel.AddType(new OdcmEnum(enumType.Name, ResolveNamespace(enumType.Namespace)));
}
foreach (var typeDefinition in AllTypeDefinitions(types))
{
_odcmModel.AddType(new OdcmTypeDefinition(typeDefinition.Name, ResolveNamespace(typeDefinition.Namespace)));
}
foreach (var complexType in AllComplexTypes(types))
{
_odcmModel.AddType(new OdcmComplexClass(complexType.Name, ResolveNamespace(complexType.Namespace)));
}
foreach (var entityType in AllEntityTypes(types))
{
if (entityType.HasStream)
{
_odcmModel.AddType(new OdcmMediaClass(entityType.Name, ResolveNamespace(entityType.Namespace)));
}
else
{
_odcmModel.AddType(new OdcmEntityClass(entityType.Name, ResolveNamespace(entityType.Namespace)));
}
}
foreach (var entityContainer in AllEntityContainers(allElements))
{
_odcmModel.AddType(new OdcmServiceClass(entityContainer.Name, ResolveNamespace(entityContainer.Namespace)));
}
}