private ISessionFactory CreateSessionFactory() { FluentConfiguration fluentConfiguration = Fluently.Configure(); IPersistenceConfigurer sqlConfiguration = CreateSqlConfiguration(); if (sqlConfiguration != null) { 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()); }
internal static void AddEventCounter(EventSource eventSource, EventCounter eventCounter) { int eventSourceIndex = EventListenerHelper.EventSourceIndex(eventSource); EventCounterGroup.EnsureEventSourceIndexAvailable(eventSourceIndex); EventCounterGroup eventCounterGroup = GetEventCounterGroup(eventSource); eventCounterGroup.Add(eventCounter); }
private static EventCounterGroup GetEventCounterGroup(EventSource eventSource) { int eventSourceIndex = EventListenerHelper.EventSourceIndex(eventSource); EventCounterGroup result = EventCounterGroup.s_eventCounterGroups[eventSourceIndex]; if (result == null) { result = new EventCounterGroup(eventSource, eventSourceIndex); EventCounterGroup.s_eventCounterGroups[eventSourceIndex] = result; } return(result); }
internal static EventCounterGroup GetEventCounterGroup(EventSource eventSource) { lock (s_eventCounterGroupsLock) { int eventSourceIndex = EventListenerHelper.EventSourceIndex(eventSource); EnsureEventSourceIndexAvailable(eventSourceIndex); WeakReference <EventCounterGroup> weakRef = EventCounterGroup.s_eventCounterGroups[eventSourceIndex]; EventCounterGroup ret = null; if (weakRef == null || !weakRef.TryGetTarget(out ret)) { ret = new EventCounterGroup(eventSource); EventCounterGroup.s_eventCounterGroups[eventSourceIndex] = new WeakReference <EventCounterGroup>(ret); } return(ret); } }
public void Should_Update_Modification_Fields_Correctly() { var principalProvider = new Mock <IPrincipalProvider>(); principalProvider.Setup(p => p.CurrentPrincipalName).Returns("TestPrincipal"); var helper = new EventListenerHelper(principalProvider.Object); var entity = CreateEntity(); helper.OnModify(entity); EnsureDeletionPropertiesUntouched(entity); EnsureCreationPropertiesUntouched(entity); Assert.IsTrue(entity.ModifiedOn != DateTime.MinValue); Assert.AreEqual(entity.ModifiedByUser, "TestPrincipal"); }
private ISessionFactory CreateSessionFactory() { var eventListenerHelper = new EventListenerHelper(principalAccessor); var saveOrUpdateEventListener = new SaveOrUpdateEventListener(eventListenerHelper); var deleteEventListener = new DeleteEventListener(eventListenerHelper); return Fluently.Configure() .Mappings(m => m.FluentMappings.AddFromAssemblyOf<IEntity>() .Conventions.Add(ForeignKey.EndsWith("Id")) .Conventions.Add<EnumConvention>()) .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)) .BuildConfiguration() .BuildSessionFactory(); }
private ISessionFactory CreateSessionFactory() { var eventListenerHelper = new EventListenerHelper(principalAccessor); var saveOrUpdateEventListener = new SaveOrUpdateEventListener(eventListenerHelper); var deleteEventListener = new DeleteEventListener(eventListenerHelper); return (Fluently.Configure() .Mappings(m => m.FluentMappings.AddFromAssemblyOf <IEntity>() .Conventions.Add(ForeignKey.EndsWith("Id")) .Conventions.Add <EnumConvention>()) .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)) .BuildConfiguration() .BuildSessionFactory()); }
/// <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; }
/// <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; }