Exemplo n.º 1
0
 /// <override></override>
 void IRegistrar.RegisterModelObjectType(ModelObjectType modelObjectType)
 {
     if (initializingLibrary == null)
     {
         throw new InvalidOperationException("RegisterModelObjectType can only be called while a library is initializing.");
     }
     if (string.IsNullOrEmpty(initializingLibrary.Name))
     {
         throw new InvalidOperationException("RegisterLibrary has not been called or the library has an empty library name.");
     }
     if (modelObjectType == null)
     {
         throw new ArgumentNullException("modelObjectType");
     }
     if (!Project.IsValidName(modelObjectType.Name))
     {
         throw new ArgumentException("'{0}' is not a valid model object type name.", modelObjectType.Name);
     }
     if (modelObjectType.LibraryName != initializingLibrary.Name)
     {
         throw new InvalidOperationException("All model objects of a registering library must have the library's library name.");
     }
     if (modelObjectType.LibraryName != initializingLibrary.Name)
     {
         throw new InvalidOperationException(string.Format("The library name of model object type '{0}' is '{1}' instead of '{2}'.", modelObjectType.GetType().Name, modelObjectType.LibraryName, initializingLibrary.Name));
     }
     //
     modelObjectTypes.Add(modelObjectType);
     // Create a delegate that adds required parameters to the CreateModelObjectDelegate
     // of the shape when called
     if (repository != null && repository.IsOpen)
     {
         RegisterModelObjectEntityType(modelObjectType, addingLibrary);
     }
 }
Exemplo n.º 2
0
 /// <override></override>
 void IRegistrar.RegisterLibrary(string name, int defaultRepositoryVersion)
 {
     if (!Project.IsValidName(name))
     {
         throw new ArgumentException(string.Format("'{0}' is not a valid library name.", name));
     }
     initializingLibrary.Name = name;
     if (addingLibrary)
     {
         settings.AddLibrary(name, initializingLibrary.Assembly.FullName, defaultRepositoryVersion);
     }
 }