示例#1
0
        private void PublishEvent(EventArgs eventArgs)
        {
            EventFns.Publish(new EntityManagerEventMessage <T>(Manager, eventArgs));

            var entityChangedEventArgs = eventArgs as EntityChangedEventArgs;

            if (entityChangedEventArgs != null)
            {
                EntityChanged(Manager, entityChangedEventArgs);
            }

            var entityQueryingEventArgs = eventArgs as EntityQueryingEventArgs;

            if (entityQueryingEventArgs != null)
            {
                Querying(Manager, entityQueryingEventArgs);
            }

            var entitySavingEventArgs = eventArgs as EntitySavingEventArgs;

            if (entitySavingEventArgs != null)
            {
                Saving(Manager, entitySavingEventArgs);
            }

            var entitySavedEventArgs = eventArgs as EntitySavedEventArgs;

            if (entitySavedEventArgs != null)
            {
                Saved(Manager, entitySavedEventArgs);
            }
        }
示例#2
0
        private void PublishEntities(IEnumerable <object> exportEntities)
        {
            var syncData = new SyncDataMessage(this, exportEntities, _deletedEntityKeys);

            EventFns.Publish(syncData);

            // Signal to our clients that data has changed
            if (syncData.SavedEntities.Any() || syncData.DeletedEntityKeys.Any())
            {
                RaiseDataChangedEvent(syncData.SavedEntities, syncData.DeletedEntityKeys);
            }
        }
示例#3
0
 /// <summary>
 ///   Triggers the PrincipalChanged event.
 /// </summary>
 protected virtual void OnPrincipalChanged()
 {
     NotifyPropertyChanged("Principal");
     PrincipalChanged(this, EventArgs.Empty);
     EventFns.Publish(new PrincipalChangedMessage(Principal));
 }