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); }
public CodeGenDomain(NHibernateGenie genie) : base(genie) { outFileName = genie.Config.OutFileName; }
public CodeGenSetup(NHibernateGenie genie) : base(genie) { outFileName = "DomainSetup.cs"; }