public CodeGenBase(NHibernateGenie genie)
        {
            this.genie = genie;
            genie.Model.MetaObjects.SetUnprocessedAll();

            if (!genie.Lamp.Config.Layers.DomainConfig.IsDefined)
            {
                throw new ApplicationException("Domain layer configuration is not defined in project");
            }
            if (DomainLayerConfig.BaseNamespace == Const.EmptyName)
            {
                throw new ApplicationException("Domain layer configuration: base namespace is not defined");
            }

            string defaultBaseNamespace = Path.GetFileNameWithoutExtension(genie.Config.OutFileName);

            targetAssemblyName        = genie.Config.Params.ParamByName("TargetAssemblyName", defaultBaseNamespace).Value;
            environment               = genie.Lamp.GenieLampUtils.GetEnvironmentHelper(TargetEnvironment.CSharp);
            environment.BaseNamespace = DomainLayerConfig.BaseNamespace;

            genie.Config.Macro.SetMacro("%TARGET_ASSEMBLY_NAME%", targetAssemblyName);
            genie.Config.Macro.SetMacro("%BASE_NAMESPACE%", DomainLayerConfig.BaseNamespace);
            genie.Config.Macro.SetMacro("%DOMAIN_NAMESPACE%", DomainLayerConfig.DomainNamespace);
            genie.Config.Macro.SetMacro("%PERSISTENCE_NAMESPACE%", DomainLayerConfig.PersistenceNamespace);
            genie.Config.Macro.SetMacro("%QUERING_NAMESPACE%", DomainLayerConfig.QueriesNamespace);
            genie.Config.Macro.SetMacro("%PATTERNS_NAMESPACE%", DomainLayerConfig.PatternsNamespace);
        }
 /// <summary>
 /// Generates domain infrastructure classes, interfaces and helpers.
 /// </summary>
 /// <param name='genie'>
 /// NHibernate genie.
 /// </param>
 public CodeGenDomainSupport(NHibernateGenie genie)
     : base(genie)
 {
     outFileName = "DomainSupport.cs";
     genie.Config.Macro.SetMacro("%InterfaceName_PersistentObject%", InterfaceName_PersistentObject);
     genie.Config.Macro.SetMacro("%ClassName_CommonEntityInterceptor%", ClassName_CommonEntityInterceptor);
     // Quering
     genie.Config.Macro.SetMacro("%ClassName_QueryFactory%", ClassName_QueryFactory);
     genie.Config.Macro.SetMacro("%ClassName_DomainQueryParams%", DomainLayerConfig.GetClassName_QueryParams(false));
     genie.Config.Macro.SetMacro("%ClassName_SortOrder%", DomainLayerConfig.GetClassName_SortOrder(false));
     // Events
     genie.Config.Macro.SetMacro("%InterfaceName_OnSave%", InterfaceName_OnSave);
     genie.Config.Macro.SetMacro("%InterfaceName_OnDelete%", InterfaceName_OnDelete);
     genie.Config.Macro.SetMacro("%InterfaceName_OnFlush%", InterfaceName_OnFlush);
     genie.Config.Macro.SetMacro("%ClassName_EventHandlerBase%", ClassName_EventHandlerBase);
     genie.Config.Macro.SetMacro("%ClassName_DomainEventHandler%", ClassName_DomainEventHandler);
     // Patterns
     genie.Config.Macro.SetMacro("%ClassName_EntityAuditor%", ClassName_EntityAuditor);
     genie.Config.Macro.SetMacro("%InterfaceName_UsesRegistry%", InterfaceName_UsesRegistry);
     genie.Config.Macro.SetMacro("%IUsesRegistry_Property_Registry%", IUsesRegistry_Property_Registry);
     genie.Config.Macro.SetMacro("%InterfaceName_UsesAudit%", InterfaceName_UsesAudit);
 }
Exemple #3
0
 public CodeGenDomain(NHibernateGenie genie)
     : base(genie)
 {
     outFileName = genie.Config.OutFileName;
 }
 public CodeGenSetup(NHibernateGenie genie)
     : base(genie)
 {
     outFileName = "DomainSetup.cs";
 }