예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SaveOrUpdateEventListener" /> class.
 /// </summary>
 /// <param name="eventListenerHelper">The event listener helper.</param>
 public SaveOrUpdateEventListener(EventListenerHelper eventListenerHelper)
 {
     this.eventListenerHelper = eventListenerHelper;
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SaveOrUpdateEventListener" /> class.
 /// </summary>
 /// <param name="eventListenerHelper">The event listener helper.</param>
 public SaveOrUpdateEventListener(EventListenerHelper eventListenerHelper)
 {
     this.eventListenerHelper = eventListenerHelper;
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeleteEventListener" /> class.
 /// </summary>
 /// <param name="eventListenerHelper">The event listener helper.</param>
 public DeleteEventListener(EventListenerHelper eventListenerHelper)
 {
     this.eventListenerHelper = eventListenerHelper;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeleteEventListener" /> class.
 /// </summary>
 /// <param name="eventListenerHelper">The event listener helper.</param>
 public DeleteEventListener(EventListenerHelper eventListenerHelper)
 {
     this.eventListenerHelper = eventListenerHelper;
 }
        private ISessionFactory CreateSessionFactory()
        {
            FluentConfiguration fluentConfiguration = Fluently.Configure();
            MsSqlConfiguration sqlConfiguration = null;

            if (!string.IsNullOrEmpty(configuration.Database.ConnectionString))
            {
                sqlConfiguration = MsSqlConfiguration.MsSql2008.ConnectionString(configuration.Database.ConnectionString);
            }
            else if (!string.IsNullOrEmpty(configuration.Database.ConnectionStringName))
            {
                sqlConfiguration = MsSqlConfiguration.MsSql2008.ConnectionString(f => f.FromConnectionStringWithKey(configuration.Database.ConnectionStringName));
            }

            if (sqlConfiguration != null)
            {
                if (!string.IsNullOrEmpty(configuration.Database.SchemaName))
                {
                    sqlConfiguration.DefaultSchema(configuration.Database.SchemaName);
                }

                fluentConfiguration = fluentConfiguration.Database(sqlConfiguration);
            }

            mappingResolver.AddAvailableMappings(fluentConfiguration);

            var eventListenerHelper = new EventListenerHelper(securityService);
            var saveOrUpdateEventListener = new SaveOrUpdateEventListener(eventListenerHelper);
            var deleteEventListener = new DeleteEventListener(eventListenerHelper);

            fluentConfiguration = fluentConfiguration
                .Mappings(m => m.FluentMappings
                                   .Conventions.Add(ForeignKey.EndsWith("Id"))
                                   .Conventions.Add<EnumConvention>())
                .ExposeConfiguration(c => c.SetProperty("show_sql", "false"))
                .ExposeConfiguration(c => c.SetListener(ListenerType.Delete, deleteEventListener))
                .ExposeConfiguration(c => c.SetListener(ListenerType.SaveUpdate, saveOrUpdateEventListener))
                .ExposeConfiguration(c => c.SetListener(ListenerType.Save, saveOrUpdateEventListener))
                .ExposeConfiguration(c => c.SetListener(ListenerType.Update, saveOrUpdateEventListener));

            return fluentConfiguration
                        .BuildConfiguration()
                        .BuildSessionFactory();
        }