diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/AddDataBaseEventListenerMethod.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/AddDataBaseEventListenerMethod.cs index 7b47989c9..b8b214748 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/AddDataBaseEventListenerMethod.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/AddDataBaseEventListenerMethod.cs @@ -32,11 +32,11 @@ namespace Ntreev.Crema.Javascript.Methods class AddDataBaseEventListenerMethod : ScriptMethodBase { private readonly ICremaHost cremaHost; - private readonly CremaDataBaseEventListenerBase[] eventListeners; - private CremaDataBaseEventListenerContext eventListenerContext; + private readonly DataBaseEventListenerHost[] eventListeners; + private DataBaseEventListenerContext eventListenerContext; [ImportingConstructor] - public AddDataBaseEventListenerMethod(ICremaHost cremaHost, [ImportMany]IEnumerable eventListeners) + public AddDataBaseEventListenerMethod(ICremaHost cremaHost, [ImportMany]IEnumerable eventListeners) { this.cremaHost = cremaHost; this.eventListeners = eventListeners.ToArray(); @@ -44,7 +44,7 @@ public AddDataBaseEventListenerMethod(ICremaHost cremaHost, [ImportMany]IEnumera protected override Delegate CreateDelegate() { - return new Action(this.AddDataBaseEventListener); + return new Action(this.AddDataBaseEventListener); } protected override void OnInitialized() @@ -58,12 +58,12 @@ protected override void OnDisposed() this.eventListenerContext?.Dispose(); } - private void AddDataBaseEventListener(CremaDataBaseEvents eventName, CremaDataBaseEventListener listener) + private void AddDataBaseEventListener(DataBaseEvents eventName, DataBaseEventListener listener) { - if (this.Context.Properties.ContainsKey(typeof(CremaDataBaseEventListenerContext)) == false) + if (this.Context.Properties.ContainsKey(typeof(DataBaseEventListenerContext)) == false) { - this.eventListenerContext = new CremaDataBaseEventListenerContext(this.cremaHost, this.eventListeners); - this.Context.Properties[typeof(CremaDataBaseEventListenerContext)] = this.eventListenerContext; + this.eventListenerContext = new DataBaseEventListenerContext(this.cremaHost, this.eventListeners); + this.Context.Properties[typeof(DataBaseEventListenerContext)] = this.eventListenerContext; } if (this.eventListenerContext != null) diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/AddEventListenerMethod.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/AddEventListenerMethod.cs index fa2d9cae3..b4208ca07 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/AddEventListenerMethod.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/AddEventListenerMethod.cs @@ -32,11 +32,11 @@ namespace Ntreev.Crema.Javascript.Methods class AddEventListenerMethod : ScriptMethodBase { private readonly ICremaHost cremaHost; - private readonly CremaEventListenerBase[] eventListeners; + private readonly CremaEventListenerHost[] eventListeners; private CremaEventListenerContext eventListenerContext; [ImportingConstructor] - public AddEventListenerMethod(ICremaHost cremaHost, [ImportMany]IEnumerable eventListeners) + public AddEventListenerMethod(ICremaHost cremaHost, [ImportMany]IEnumerable eventListeners) { this.cremaHost = cremaHost; this.eventListeners = eventListeners.ToArray(); diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerBase.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerBase.cs deleted file mode 100644 index dd23c808e..000000000 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerBase.cs +++ /dev/null @@ -1,108 +0,0 @@ -using Ntreev.Crema.Services; -using System; -using System.Collections.Generic; -using System.Text; -using System.Linq; -using Ntreev.Crema.ServiceModel; - -namespace Ntreev.Crema.Javascript.Methods -{ - abstract class CremaDataBaseEventListenerBase - { - private readonly CremaDataBaseEvents eventName; - private readonly Dictionary> dataBases = new Dictionary>(); - //private readonly Dictionary hashes = new Dictionary(); - - protected CremaDataBaseEventListenerBase(CremaDataBaseEvents eventName) - { - this.eventName = eventName; - } - - public void Dispose() - { - foreach (var item in this.dataBases) - { - this.OnUnsubscribe(item.Key); - } - this.dataBases.Clear(); - } - - public int Subscribe(IDataBase dataBase, CremaDataBaseEventListener listener) - { - if (this.dataBases.ContainsKey(dataBase) == false) - { - this.dataBases[dataBase] = new List(); - } - var listenerList = this.dataBases[dataBase]; - if (listenerList.Any() == false) - { - this.OnSubscribe(dataBase); - } - listenerList.Add(listener); - return listener.GetHashCode(); - } - - public void Unsubscribe(IDataBase dataBase, CremaDataBaseEventListener listener) - { - var listenerList = this.dataBases[dataBase]; - - for (var i = 0; i < listenerList.Count; i++) - { - if (this.GetHashCode(listenerList[i]) == this.GetHashCode(listener)) - { - listenerList.RemoveAt(i); - break; - } - } - if (listenerList.Any() == false) - { - this.OnUnsubscribe(dataBase); - this.dataBases.Remove(dataBase); - } - } - - public CremaDispatcher Dispatcher - { - get; set; - } - - public CremaDataBaseEvents EventName => this.eventName; - - protected void Invoke(IDictionary properties) - { - this.Dispatcher.InvokeAsync(() => - { - foreach (var item in this.dataBases) - { - //item.Invoke(properties); - } - }); - } - - protected abstract void OnSubscribe(IDataBase dataBase); - - protected abstract void OnUnsubscribe(IDataBase dataBase); - - //private void DataBase_Unloaded(object sender, EventArgs e) - //{ - // if (sender is IDataBase dataBase) - // { - // var listenerList = this.dataBases[dataBase]; - // foreach (var item in listenerList) - // { - // this.hashes.Remove(item.GetHashCode()); - // } - // this.dataBases.Remove(dataBase); - // } - //} - - private int GetHashCode(CremaDataBaseEventListener listener) - { - if (listener.Target is System.Runtime.CompilerServices.Closure c) - { - return c.Constants[0].GetHashCode(); - } - throw new NotImplementedException(); - } - } -} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerContext.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerContext.cs deleted file mode 100644 index 865e225d4..000000000 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListenerContext.cs +++ /dev/null @@ -1,129 +0,0 @@ -//Released under the MIT License. -// -//Copyright (c) 2018 Ntreev Soft co., Ltd. -// -//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -//documentation files (the "Software"), to deal in the Software without restriction, including without limitation the -//rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit -//persons to whom the Software is furnished to do so, subject to the following conditions: -// -//The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -//Software. -// -//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -//WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -//COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using Ntreev.Crema.Services; -using System; -using System.Linq; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.Text; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Jint.Native; -using Ntreev.Crema.ServiceModel; - -namespace Ntreev.Crema.Javascript.Methods -{ - class CremaDataBaseEventListenerContext - { - private readonly ICremaHost cremaHost; - private readonly IDictionary eventListeners; - private readonly Dictionary> listeners = new Dictionary>(); - private readonly CremaDispatcher dispatcher; - - public CremaDataBaseEventListenerContext(ICremaHost cremaHost, CremaDataBaseEventListenerBase[] eventListener) - { - this.cremaHost = cremaHost; - - this.eventListeners = eventListener.ToDictionary(item => item.EventName); - this.dispatcher = new CremaDispatcher(this); - foreach (var item in eventListener) - { - item.Dispatcher = this.dispatcher; - } - this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.ItemsLoaded += DataBases_ItemsLoaded); - this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.ItemsUnloaded += DataBases_ItemsUnloaded); - } - - public void Dispose() - { - this.dispatcher.Dispose(); - foreach (var item in this.eventListeners) - { - item.Value.Dispose(); - } - } - - public void AddEventListener(CremaDataBaseEvents eventName, CremaDataBaseEventListener listener) - { - if (this.eventListeners.ContainsKey(eventName) == true) - { - this.cremaHost.Dispatcher.Invoke(() => - { - var dataBases = this.cremaHost.DataBases.Where(item => item.IsLoaded).ToArray(); - var eventHandler = this.eventListeners[eventName]; - foreach (var item in dataBases) - { - eventHandler.Subscribe(item, listener); - - } - }); - } - else - { - throw new NotImplementedException(); - } - } - - public void RemoveEventListener(CremaDataBaseEvents eventName, CremaDataBaseEventListener listener) - { - if (this.eventListeners.ContainsKey(eventName) == true) - { - this.cremaHost.Dispatcher.Invoke(() => - { - var dataBases = this.cremaHost.DataBases.Where(item => item.IsLoaded).ToArray(); - var eventHandler = this.eventListeners[eventName]; - foreach (var item in dataBases) - { - eventHandler.Unsubscribe(item, listener); - } - }); - } - else - { - throw new NotImplementedException(); - } - } - - private void DataBases_ItemsLoaded(object sender, ItemsEventArgs e) - { - - } - - private void DataBases_ItemsUnloaded(object sender, ItemsEventArgs e) - { - //foreach (var item in this.eventListeners) - //{ - // foreach (var dataBase in e.Items) - // { - // item.Value.Subscribe(dataBase, item.Value); - // } - //} - } - - #region classes - - class ListenerItem - { - public CremaDataBaseEvents EventName { get; set; } - - public CremaDataBaseEventListener Listener { get; set; } - } - - #endregion - } -} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerBase.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerBase.cs deleted file mode 100644 index 69ee5457e..000000000 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerBase.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Ntreev.Crema.Services; -using System; -using System.Collections.Generic; -using System.Text; -using System.Linq; -using Ntreev.Crema.ServiceModel; - -namespace Ntreev.Crema.Javascript.Methods -{ - abstract class CremaEventListenerBase - { - private readonly CremaEvents eventName; - private readonly List listenerList = new List(); - private readonly Dictionary hashTolistener = new Dictionary(); - - protected CremaEventListenerBase(CremaEvents eventName) - { - this.eventName = eventName; - } - - public void Dispose() - { - if (this.listenerList.Any() == true) - { - this.OnUnsubscribe(); - } - this.listenerList.Clear(); - } - - private int GetHashCode(CremaEventListener listener) - { - if (listener.Target is System.Runtime.CompilerServices.Closure c) - { - return c.Constants[0].GetHashCode(); - } - throw new NotImplementedException(); - } - - public int Subscribe(CremaEventListener listener) - { - if (this.listenerList.Any() == false) - { - this.OnSubscribe(); - } - - this.listenerList.Add(listener); - this.hashTolistener.Add(listener.GetHashCode(), listener); - return listener.GetHashCode(); - } - - public void Unsubscribe(CremaEventListener listener) - { - for (var i = 0; i < this.listenerList.Count; i++) - { - if (this.GetHashCode(this.listenerList[i]) == this.GetHashCode(listener)) - { - this.listenerList.RemoveAt(i); - break; - } - } - - if (this.listenerList.Any() == false) - { - this.OnUnsubscribe(); - } - } - - public void Unsubscribe(int hashCode) - { - var callback = this.hashTolistener[hashCode]; - this.hashTolistener.Remove(hashCode); - this.listenerList.Remove(callback); - if (this.listenerList.Any() == false) - { - this.OnUnsubscribe(); - } - } - - public CremaDispatcher Dispatcher - { - get; set; - } - - public CremaEvents EventName => this.eventName; - - protected void Invoke(IDictionary properties) - { - this.Dispatcher.InvokeAsync(() => - { - foreach (var item in this.listenerList) - { - item.Invoke(properties); - } - }); - } - - protected abstract void OnSubscribe(); - - protected abstract void OnUnsubscribe(); - } -} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerCollection.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerCollection.cs new file mode 100644 index 000000000..719c2c594 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerCollection.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Ntreev.Crema.Javascript.Methods +{ + class CremaEventListenerCollection : List + { + public new void Remove(CremaEventListener item) + { + for (var i = 0; i < this.Count; i++) + { + if (this.GetHashCode(this[i]) == this.GetHashCode(item)) + { + this.RemoveAt(i); + break; + } + } + } + + private int GetHashCode(CremaEventListener item) + { + if (item.Target is System.Runtime.CompilerServices.Closure c) + { + return c.Constants[0].GetHashCode(); + } + throw new NotImplementedException(); + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerContext.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerContext.cs index 7854adfb6..c0695ef6c 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerContext.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerContext.cs @@ -30,10 +30,10 @@ namespace Ntreev.Crema.Javascript.Methods { class CremaEventListenerContext { - private readonly IDictionary eventListeners; + private readonly IDictionary eventListeners; private readonly CremaDispatcher dispatcher; - public CremaEventListenerContext(CremaEventListenerBase[] eventListener) + public CremaEventListenerContext(CremaEventListenerHost[] eventListener) { this.eventListeners = eventListener.ToDictionary(item => item.EventName); this.dispatcher = new CremaDispatcher(this); diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerHost.cs new file mode 100644 index 000000000..20186641d --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaEventListenerHost.cs @@ -0,0 +1,71 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.Text; +using System.Linq; +using Ntreev.Crema.ServiceModel; + +namespace Ntreev.Crema.Javascript.Methods +{ + abstract class CremaEventListenerHost + { + private readonly CremaEvents eventName; + private readonly CremaEventListenerCollection listeners = new CremaEventListenerCollection(); + + protected CremaEventListenerHost(CremaEvents eventName) + { + this.eventName = eventName; + } + + public void Dispose() + { + if (this.listeners.Any() == true) + { + this.OnUnsubscribe(); + } + this.listeners.Clear(); + } + + public void Subscribe(CremaEventListener listener) + { + if (this.listeners.Any() == false) + { + this.OnSubscribe(); + } + + this.listeners.Add(listener); + } + + public void Unsubscribe(CremaEventListener listener) + { + this.listeners.Remove(listener); + + if (this.listeners.Any() == false) + { + this.OnUnsubscribe(); + } + } + + public CremaDispatcher Dispatcher + { + get; set; + } + + public CremaEvents EventName => this.eventName; + + protected void Invoke(IDictionary properties) + { + this.Dispatcher.InvokeAsync(() => + { + foreach (var item in this.listeners) + { + item.Invoke(properties); + } + }); + } + + protected abstract void OnSubscribe(); + + protected abstract void OnUnsubscribe(); + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListener.cs similarity index 54% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListener.cs index 02c44220c..71d9d4078 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListener.cs @@ -4,5 +4,5 @@ namespace Ntreev.Crema.Javascript.Methods { - delegate void CremaDataBaseEventListener(string dataBaseName, IDictionary e); + delegate void DataBaseEventListener(string dataBaseName, IDictionary e); } diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerCollection.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerCollection.cs new file mode 100644 index 000000000..79913b09d --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerCollection.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Ntreev.Crema.Javascript.Methods +{ + class DataBaseEventListenerCollection : List + { + public DataBaseEventListenerCollection() + { + + } + + public DataBaseEventListenerCollection(IEnumerable listeners) + : base(listeners) + { + + } + + public new void Remove(DataBaseEventListener item) + { + for (var i = 0; i < this.Count; i++) + { + if (this.GetHashCode(this[i]) == this.GetHashCode(item)) + { + this.RemoveAt(i); + break; + } + } + } + + private int GetHashCode(DataBaseEventListener item) + { + if (item.Target is System.Runtime.CompilerServices.Closure c) + { + return c.Constants[0].GetHashCode(); + } + throw new NotImplementedException(); + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerContext.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerContext.cs new file mode 100644 index 000000000..4708eba8f --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerContext.cs @@ -0,0 +1,155 @@ +//Released under the MIT License. +// +//Copyright (c) 2018 Ntreev Soft co., Ltd. +// +//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +//documentation files (the "Software"), to deal in the Software without restriction, including without limitation the +//rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit +//persons to whom the Software is furnished to do so, subject to the following conditions: +// +//The above copyright notice and this permission notice shall be included in all copies or substantial portions of the +//Software. +// +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +//WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +//COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +using Ntreev.Crema.Services; +using System; +using System.Linq; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Jint.Native; +using Ntreev.Crema.ServiceModel; + +namespace Ntreev.Crema.Javascript.Methods +{ + class DataBaseEventListenerContext + { + private readonly ICremaHost cremaHost; + private readonly IDictionary listenerHosts; + private readonly Dictionary listeners = new Dictionary(); + private readonly CremaDispatcher dispatcher; + + public DataBaseEventListenerContext(ICremaHost cremaHost, DataBaseEventListenerHost[] eventListener) + { + this.cremaHost = cremaHost; + + this.listenerHosts = eventListener.ToDictionary(item => item.EventName); + this.dispatcher = new CremaDispatcher(this); + foreach (var item in eventListener) + { + item.Dispatcher = this.dispatcher; + } + this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.ItemsLoaded += DataBases_ItemsLoaded); + this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.ItemsUnloaded += DataBases_ItemsUnloaded); + } + + public void Dispose() + { + this.dispatcher.Invoke(() => + { + foreach (var item in this.listenerHosts) + { + item.Value.Dispose(); + } + }); + this.dispatcher.Dispose(); + } + + public void AddEventListener(DataBaseEvents eventName, DataBaseEventListener listener) + { + this.dispatcher.Invoke(() => + { + if (this.listenerHosts.ContainsKey(eventName) == true) + { + if (this.listeners.ContainsKey(eventName) == false) + { + this.listeners[eventName] = new DataBaseEventListenerCollection(); + } + + this.listeners[eventName].Add(listener); + + var dataBases = this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.Where(item => item.IsLoaded).ToArray()); + var listenerHost = this.listenerHosts[eventName]; + foreach (var item in dataBases) + { + listenerHost.Subscribe(item, listener); + } + } + else + { + throw new NotImplementedException(); + } + }); + } + + public void RemoveEventListener(DataBaseEvents eventName, DataBaseEventListener listener) + { + this.dispatcher.Invoke(() => + { + if (this.listenerHosts.ContainsKey(eventName) == true) + { + var dataBases = this.cremaHost.Dispatcher.Invoke(() => this.cremaHost.DataBases.Where(item => item.IsLoaded).ToArray()); + var listenerHost = this.listenerHosts[eventName]; + foreach (var item in dataBases) + { + listenerHost.Unsubscribe(item, listener); + } + var listeners = this.listeners[eventName]; + listeners.Remove(listener); + } + else + { + throw new NotImplementedException(); + } + }); + } + + private void DataBases_ItemsLoaded(object sender, ItemsEventArgs e) + { + if (sender is IDataBase dataBase) + { + this.dispatcher.InvokeAsync(() => + { + foreach (var item in this.listenerHosts) + { + var eventName = item.Key; + var host = item.Value; + var listeners = this.listeners[eventName]; + host.Subscribe(dataBase, listeners); + } + }); + } + } + + private void DataBases_ItemsUnloaded(object sender, ItemsEventArgs e) + { + if (sender is IDataBase dataBase) + { + this.dispatcher.InvokeAsync(() => + { + foreach (var item in this.listenerHosts.Values) + { + item.Unsubscribe(dataBase); + } + }); + } + } + + #region classes + + class ListenerItem + { + public DataBaseEvents EventName { get; set; } + + public DataBaseEventListener Listener { get; set; } + } + + #endregion + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerHost.cs new file mode 100644 index 000000000..a9143eae5 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEventListenerHost.cs @@ -0,0 +1,92 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.Text; +using System.Linq; +using Ntreev.Crema.ServiceModel; + +namespace Ntreev.Crema.Javascript.Methods +{ + abstract class DataBaseEventListenerHost + { + private readonly DataBaseEvents eventName; + private readonly Dictionary dataBaseToListeners = new Dictionary(); + + protected DataBaseEventListenerHost(DataBaseEvents eventName) + { + this.eventName = eventName; + } + + public void Dispose() + { + foreach (var item in this.dataBaseToListeners) + { + this.OnUnsubscribe(item.Key); + } + this.dataBaseToListeners.Clear(); + } + + public void Subscribe(IDataBase dataBase, DataBaseEventListener listener) + { + if (this.dataBaseToListeners.ContainsKey(dataBase) == false) + { + this.dataBaseToListeners[dataBase] = new DataBaseEventListenerCollection(); + } + var listeners = this.dataBaseToListeners[dataBase]; + if (listeners.Any() == false) + { + this.OnSubscribe(dataBase); + } + listeners.Add(listener); + } + + public void Unsubscribe(IDataBase dataBase, DataBaseEventListener listener) + { + var listeners = this.dataBaseToListeners[dataBase]; + listeners.Remove(listener); + if (listeners.Any() == false) + { + this.OnUnsubscribe(dataBase); + this.dataBaseToListeners.Remove(dataBase); + } + } + + public void Subscribe(IDataBase dataBase, IEnumerable listeners) + { + this.dataBaseToListeners[dataBase] = new DataBaseEventListenerCollection(listeners); + this.OnSubscribe(dataBase); + } + + public void Unsubscribe(IDataBase dataBase) + { + this.OnUnsubscribe(dataBase); + this.dataBaseToListeners.Remove(dataBase); + } + + public CremaDispatcher Dispatcher + { + get; set; + } + + public DataBaseEvents EventName => this.eventName; + + protected void InvokeAsync(IDataBase dataBase, IDictionary properties) + { + var dataBaseName = dataBase.Name; + var listeners = this.dataBaseToListeners[dataBase].ToArray(); + this.Dispatcher.InvokeAsync(() => + { + foreach (var item in listeners) + { + item.Invoke(dataBaseName, properties); + } + }); + } + + protected abstract void OnSubscribe(IDataBase dataBase); + + protected abstract void OnUnsubscribe(IDataBase dataBase); + + + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEvents.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEvents.cs similarity index 94% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEvents.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEvents.cs index c7e403f4c..2715b1299 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/CremaDataBaseEvents.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/DataBaseEvents.cs @@ -4,7 +4,7 @@ namespace Ntreev.Crema.Javascript.Methods { - enum CremaDataBaseEvents + enum DataBaseEvents { TableStateChanged, TableChanged, diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableChangedEventListenerHost.cs new file mode 100644 index 000000000..7f10de675 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.Tables.TablesChanged += Tables_TablesChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.Tables.TablesChanged -= Tables_TablesChanged); + } + + private void Tables_TablesChanged(object sender, ItemsEventArgs e) + { + if (sender is ITableCollection tables && tables.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemAccessChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemAccessChangedEventListenerHost.cs new file mode 100644 index 000000000..5bdfb644a --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemAccessChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemAccessChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemAccessChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsAccessChanged += TableContext_ItemsAccessChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsAccessChanged -= TableContext_ItemsAccessChanged); + } + + private void TableContext_ItemsAccessChanged(object sender, ItemsEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemCreatedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemCreatedEventListenerHost.cs new file mode 100644 index 000000000..4c0612d0b --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemCreatedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemCreatedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemCreatedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsCreated += TableContext_ItemsCreated); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsCreated -= TableContext_ItemsCreated); + } + + private void TableContext_ItemsCreated(object sender, ItemsCreatedEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemDeletedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemDeletedEventListenerHost.cs new file mode 100644 index 000000000..31d19525e --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemDeletedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemDeletedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemDeletedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsDeleted += TableContext_ItemsDeleted); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsDeleted -= TableContext_ItemsDeleted); + } + + private void TableContext_ItemsDeleted(object sender, ItemsDeletedEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemLockChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemLockChangedEventListenerHost.cs new file mode 100644 index 000000000..e8ad3e2a6 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemLockChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemLockChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemLockChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsLockChanged += TableContext_ItemsLockChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsLockChanged -= TableContext_ItemsLockChanged); + } + + private void TableContext_ItemsLockChanged(object sender, ItemsEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemMovedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemMovedEventListenerHost.cs new file mode 100644 index 000000000..3f3804418 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemMovedEventListenerHost.cs @@ -0,0 +1,41 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemMovedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemMovedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsMoved += TableContext_ItemsMoved); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsMoved -= TableContext_ItemsMoved); + } + + private void TableContext_ItemsMoved(object sender, ItemsMovedEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + this.InvokeAsync(dataBase, null); + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemRenamedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemRenamedEventListenerHost.cs new file mode 100644 index 000000000..b3c6adf05 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableItemRenamedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableItemRenamedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableItemRenamedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsRenamed += TableContext_ItemsRenamed); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.ItemsRenamed -= TableContext_ItemsRenamed); + } + + private void TableContext_ItemsRenamed(object sender, ItemsRenamedEventArgs e) + { + if (sender is ITableContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableStateChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableStateChangedEventListenerHost.cs new file mode 100644 index 000000000..d274cfa3e --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TableStateChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TableStateChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TableStateChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TableStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.Tables.TablesStateChanged += Tables_TablesStateChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TableContext.Tables.TablesStateChanged -= Tables_TablesStateChanged); + } + + private void Tables_TablesStateChanged(object sender, ItemsEventArgs e) + { + if (sender is ITableCollection tables && tables.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeChangedEventListenerHost.cs new file mode 100644 index 000000000..f2111be74 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.Types.TypesChanged += Types_TypesChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.Types.TypesChanged -= Types_TypesChanged); + } + + private void Types_TypesChanged(object sender, ItemsEventArgs e) + { + if (sender is ITypeCollection types && types.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemAccessChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemAccessChangedEventListenerHost.cs new file mode 100644 index 000000000..0e5d20cc5 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemAccessChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemAccessChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemAccessChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsAccessChanged += TypeContext_ItemsAccessChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsAccessChanged -= TypeContext_ItemsAccessChanged); + } + + private void TypeContext_ItemsAccessChanged(object sender, ItemsEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemCreatedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemCreatedEventListenerHost.cs new file mode 100644 index 000000000..090fb79ac --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemCreatedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemCreatedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemCreatedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsCreated += TypeContext_ItemsCreated); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsCreated -= TypeContext_ItemsCreated); + } + + private void TypeContext_ItemsCreated(object sender, ItemsCreatedEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemDeletedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemDeletedEventListenerHost.cs new file mode 100644 index 000000000..6008ce18d --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemDeletedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemDeletedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemDeletedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsDeleted += TypeContext_ItemsDeleted); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsDeleted -= TypeContext_ItemsDeleted); + } + + private void TypeContext_ItemsDeleted(object sender, ItemsDeletedEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemLockChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemLockChangedEventListenerHost.cs new file mode 100644 index 000000000..9568f73c6 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemLockChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemLockChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemLockChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsLockChanged += TypeContext_ItemsLockChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsLockChanged -= TypeContext_ItemsLockChanged); + } + + private void TypeContext_ItemsLockChanged(object sender, ItemsEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemMovedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemMovedEventListenerHost.cs new file mode 100644 index 000000000..2691c0fe2 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemMovedEventListenerHost.cs @@ -0,0 +1,41 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemMovedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemMovedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsMoved += TypeContext_ItemsMoved); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsMoved -= TypeContext_ItemsMoved); + } + + private void TypeContext_ItemsMoved(object sender, ItemsMovedEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + this.InvokeAsync(dataBase, null); + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemRenamedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemRenamedEventListenerHost.cs new file mode 100644 index 000000000..541c700e1 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeItemRenamedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeItemRenamedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeItemRenamedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsRenamed += TypeContext_ItemsRenamed); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.ItemsRenamed -= TypeContext_ItemsRenamed); + } + + private void TypeContext_ItemsRenamed(object sender, ItemsRenamedEventArgs e) + { + if (sender is ITypeContext context && context.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeStateChangedEventListenerHost.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeStateChangedEventListenerHost.cs new file mode 100644 index 000000000..7db5448e3 --- /dev/null +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBase/TypeStateChangedEventListenerHost.cs @@ -0,0 +1,48 @@ +using Ntreev.Crema.Services; +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.Text; +using System.Windows.Threading; + +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases +{ + [Export(typeof(DataBaseEventListenerHost))] + [PartCreationPolicy(CreationPolicy.NonShared)] + class TypeStateChangedEventListenerHost : DataBaseEventListenerHost + { + private readonly ICremaHost cremaHost; + + [ImportingConstructor] + public TypeStateChangedEventListenerHost(ICremaHost cremaHost) + : base(DataBaseEvents.TypeStateChanged) + { + this.cremaHost = cremaHost; + } + + protected override void OnSubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.Types.TypesStateChanged += Types_TypesStateChanged); + } + + protected override void OnUnsubscribe(IDataBase dataBase) + { + dataBase.Dispatcher.Invoke(() => dataBase.TypeContext.Types.TypesStateChanged -= Types_TypesStateChanged); + } + + private void Types_TypesStateChanged(object sender, ItemsEventArgs e) + { + if (sender is ITypeCollection types && types.GetService(typeof(IDataBase)) is IDataBase dataBase) + { + foreach (var item in e.Items) + { + var props = new Dictionary() + { + { "Name", item.Name }, + }; + this.InvokeAsync(dataBase, null); + } + } + } + } +} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAccessChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAccessChangedEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAccessChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAccessChangedEventListenerHost.cs index 7f4aeb51e..e014744f0 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAccessChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAccessChangedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseAccessChangedEventListener : CremaEventListenerBase + class DataBaseAccessChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseAccessChangedEventListener(ICremaHost cremaHost) + public DataBaseAccessChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseAccessChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationEnteredEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationEnteredEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationEnteredEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationEnteredEventListenerHost.cs index 736f9b875..a127ec893 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationEnteredEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationEnteredEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseAuthenticationEnteredEventListener : CremaEventListenerBase + class DataBaseAuthenticationEnteredEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseAuthenticationEnteredEventListener(ICremaHost cremaHost) + public DataBaseAuthenticationEnteredEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseAuthenticationEntered) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationLeftEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationLeftEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationLeftEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationLeftEventListenerHost.cs index ae7a01126..69ef00509 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseAuthenticationLeftEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseAuthenticationLeftEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseAuthenticationLeftEventListener : CremaEventListenerBase + class DataBaseAuthenticationLeftEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseAuthenticationLeftEventListener(ICremaHost cremaHost) + public DataBaseAuthenticationLeftEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseAuthenticationLeft) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseCreatedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseCreatedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseCreatedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseCreatedEventListenerHost.cs index a43879fcc..1a6b5af9b 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseCreatedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseCreatedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseCreatedEventListener : CremaEventListenerBase + class DataBaseCreatedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseCreatedEventListener(ICremaHost cremaHost) + public DataBaseCreatedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseCreated) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseDeletedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseDeletedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseDeletedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseDeletedEventListenerHost.cs index b9b4e53d1..a058ab0f3 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseDeletedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseDeletedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseDeletedEventListener : CremaEventListenerBase + class DataBaseDeletedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseDeletedEventListener(ICremaHost cremaHost) + public DataBaseDeletedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseDeleted) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseInfoChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseInfoChangedEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseInfoChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseInfoChangedEventListenerHost.cs index 83a94b7ab..6a17ad71b 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseInfoChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseInfoChangedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseInfoChangedEventListener : CremaEventListenerBase + class DataBaseInfoChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseInfoChangedEventListener(ICremaHost cremaHost) + public DataBaseInfoChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseInfoChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLoadedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLoadedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLoadedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLoadedEventListenerHost.cs index 958c03f7e..355c3d32e 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLoadedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLoadedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseLoadedEventListener : CremaEventListenerBase + class DataBaseLoadedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseLoadedEventListener(ICremaHost cremaHost) + public DataBaseLoadedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseLoaded) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLockChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLockChangedEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLockChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLockChangedEventListenerHost.cs index 10c973661..a1b2a8d97 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseLockChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseLockChangedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseLockChangedEventListener : CremaEventListenerBase + class DataBaseLockChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseLockChangedEventListener(ICremaHost cremaHost) + public DataBaseLockChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseLockChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseRenamedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseRenamedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseRenamedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseRenamedEventListenerHost.cs index c3bdeebac..471a15a64 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseRenamedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseRenamedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseRenamedEventListener : CremaEventListenerBase + class DataBaseRenamedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseRenamedEventListener(ICremaHost cremaHost) + public DataBaseRenamedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseRenamed) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResetEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResetEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResetEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResetEventListenerHost.cs index 7b348280e..294953661 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResetEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResetEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseResetEventListener : CremaEventListenerBase + class DataBaseResetEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseResetEventListener(ICremaHost cremaHost) + public DataBaseResetEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseReset) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResettingEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResettingEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResettingEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResettingEventListenerHost.cs index 2a9d9ff48..ecefc5f10 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseResettingEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseResettingEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseResettingEventListener : CremaEventListenerBase + class DataBaseResettingEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseResettingEventListener(ICremaHost cremaHost) + public DataBaseResettingEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseResetting) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseStateChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseStateChangedEventListenerHost.cs similarity index 84% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseStateChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseStateChangedEventListenerHost.cs index 59977d16d..b2e9831f2 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseStateChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseStateChangedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseStateChangedEventListener : CremaEventListenerBase + class DataBaseStateChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseStateChangedEventListener(ICremaHost cremaHost) + public DataBaseStateChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseStateChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseUnloadedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseUnloadedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseUnloadedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseUnloadedEventListenerHost.cs index 0a9c26f13..7985ad566 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBases/DataBaseUnloadedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/DataBases/DataBaseUnloadedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.DataBases { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DataBaseUnloadedEventListener : CremaEventListenerBase + class DataBaseUnloadedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DataBaseUnloadedEventListener(ICremaHost cremaHost) + public DataBaseUnloadedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DataBaseUnloaded) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainCreatedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainCreatedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainCreatedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainCreatedEventListenerHost.cs index d195a5e37..b2fb04946 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainCreatedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainCreatedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainCreatedEventListener : CremaEventListenerBase + class DomainCreatedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainCreatedEventListener(ICremaHost cremaHost) + public DomainCreatedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainCreated) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainDeletedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainDeletedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainDeletedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainDeletedEventListenerHost.cs index 95d26f649..63a191cdc 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainDeletedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainDeletedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainDeletedEventListener : CremaEventListenerBase + class DomainDeletedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainDeletedEventListener(ICremaHost cremaHost) + public DomainDeletedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainDeleted) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainInfoChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainInfoChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainInfoChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainInfoChangedEventListenerHost.cs index 21e79bb6c..b2e995e47 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainInfoChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainInfoChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainInfoChangedEventListener : CremaEventListenerBase + class DomainInfoChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainInfoChangedEventListener(ICremaHost cremaHost) + public DomainInfoChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainInfoChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainPropertyChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainPropertyChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainPropertyChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainPropertyChangedEventListenerHost.cs index 0243c5ffc..ffd024961 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainPropertyChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainPropertyChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainPropertyChangedEventListener : CremaEventListenerBase + class DomainPropertyChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainPropertyChangedEventListener(ICremaHost cremaHost) + public DomainPropertyChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainPropertyChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowAddedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowAddedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowAddedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowAddedEventListenerHost.cs index 5c6de1e81..c8138d1cf 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowAddedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowAddedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainRowAddedEventListener : CremaEventListenerBase + class DomainRowAddedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainRowAddedEventListener(ICremaHost cremaHost) + public DomainRowAddedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainRowAdded) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowChangedEventListenerHost.cs index c8eecdd3d..d5ec7f2cf 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainRowChangedEventListener : CremaEventListenerBase + class DomainRowChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainRowChangedEventListener(ICremaHost cremaHost) + public DomainRowChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainRowChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowRemovedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowRemovedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowRemovedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowRemovedEventListenerHost.cs index 07a695f55..8eeb177af 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainRowRemovedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainRowRemovedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainRowRemovedEventListener : CremaEventListenerBase + class DomainRowRemovedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainRowRemovedEventListener(ICremaHost cremaHost) + public DomainRowRemovedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainRowRemoved) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainStateChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainStateChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainStateChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainStateChangedEventListenerHost.cs index 9361979d5..59536496a 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainStateChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainStateChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainStateChangedEventListener : CremaEventListenerBase + class DomainStateChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainStateChangedEventListener(ICremaHost cremaHost) + public DomainStateChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainStateChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserAddedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserAddedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserAddedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserAddedEventListenerHost.cs index 2d562afc6..25b200082 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserAddedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserAddedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainUserAddedEventListener : CremaEventListenerBase + class DomainUserAddedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainUserAddedEventListener(ICremaHost cremaHost) + public DomainUserAddedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainUserAdded) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserChangedEventListenerHost.cs index 41969bb29..3b91c907e 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainUserChangedEventListener : CremaEventListenerBase + class DomainUserChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainUserChangedEventListener(ICremaHost cremaHost) + public DomainUserChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainUserChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserRemovedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserRemovedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserRemovedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserRemovedEventListenerHost.cs index cb8736d95..864aa2883 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Domains/DomainUserRemovedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Domains/DomainUserRemovedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Domains +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Domains { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class DomainUserRemovedEventListener : CremaEventListenerBase + class DomainUserRemovedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public DomainUserRemovedEventListener(ICremaHost cremaHost) + public DomainUserRemovedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.DomainUserRemoved) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/MessageReceivedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/MessageReceivedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/MessageReceivedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/MessageReceivedEventListenerHost.cs index 02fb5da93..5ae9348d3 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/MessageReceivedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/MessageReceivedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class MessageReceivedEventListener : CremaEventListenerBase + class MessageReceivedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public MessageReceivedEventListener(ICremaHost cremaHost) + public MessageReceivedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.MessageReceived) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserBanChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserBanChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserBanChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserBanChangedEventListenerHost.cs index 42a028dc5..d7d5168e2 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserBanChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserBanChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserBanChangedEventListener : CremaEventListenerBase + class UserBanChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserBanChangedEventListener(ICremaHost cremaHost) + public UserBanChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserBanChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserChangedEventListenerHost.cs index ec1c88f8b..cff75ec67 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserChangedEventListenerHost.cs @@ -5,16 +5,16 @@ using System.Text; using System.Windows.Threading; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserChangedEventListener : CremaEventListenerBase + class UserChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserChangedEventListener(ICremaHost cremaHost) + public UserChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemCreatedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemCreatedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemCreatedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemCreatedEventListenerHost.cs index 3affdf7eb..17a1ddb71 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemCreatedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemCreatedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserItemCreatedEventListener : CremaEventListenerBase + class UserItemCreatedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserItemCreatedEventListener(ICremaHost cremaHost) + public UserItemCreatedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserItemCreated) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemDeletedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemDeletedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemDeletedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemDeletedEventListenerHost.cs index 7452c346b..3e69bb64a 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemDeletedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemDeletedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserItemDeletedEventListener : CremaEventListenerBase + class UserItemDeletedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserItemDeletedEventListener(ICremaHost cremaHost) + public UserItemDeletedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserItemDeleted) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemMovedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemMovedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemMovedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemMovedEventListenerHost.cs index be660a352..707b904ab 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemMovedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemMovedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserItemMovedEventListener : CremaEventListenerBase + class UserItemMovedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserItemMovedEventListener(ICremaHost cremaHost) + public UserItemMovedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserItemMoved) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemRenamedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemRenamedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemRenamedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemRenamedEventListenerHost.cs index b473f1885..b1d4f9e19 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserItemRenamedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserItemRenamedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserItemRenamedEventListener : CremaEventListenerBase + class UserItemRenamedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserItemRenamedEventListener(ICremaHost cremaHost) + public UserItemRenamedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserItemRenamed) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserKickedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserKickedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserKickedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserKickedEventListenerHost.cs index 687e46df9..4c1694ac6 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserKickedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserKickedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserKickedEventListener : CremaEventListenerBase + class UserKickedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserKickedEventListener(ICremaHost cremaHost) + public UserKickedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserKicked) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedInEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedInEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedInEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedInEventListenerHost.cs index 92325ba65..c8a4a55ac 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedInEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedInEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserLoggedInEventListener : CremaEventListenerBase + class UserLoggedInEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserLoggedInEventListener(ICremaHost cremaHost) + public UserLoggedInEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserLoggedIn) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedOutEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedOutEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedOutEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedOutEventListenerHost.cs index 463a23369..ff30c23a9 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserLoggedOutEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserLoggedOutEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserLoggedOutEventListener : CremaEventListenerBase + class UserLoggedOutEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserLoggedOutEventListener(ICremaHost cremaHost) + public UserLoggedOutEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserLoggedOut) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserStateChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserStateChangedEventListenerHost.cs similarity index 82% rename from common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserStateChangedEventListener.cs rename to common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserStateChangedEventListenerHost.cs index 756eb369d..2ebf00ecd 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/Users/UserStateChangedEventListener.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/ListenerHosts/Users/UserStateChangedEventListenerHost.cs @@ -4,16 +4,16 @@ using System.ComponentModel.Composition; using System.Text; -namespace Ntreev.Crema.Javascript.Methods.Listeners.Users +namespace Ntreev.Crema.Javascript.Methods.ListenerHosts.Users { - [Export(typeof(CremaEventListenerBase))] + [Export(typeof(CremaEventListenerHost))] [PartCreationPolicy(CreationPolicy.NonShared)] - class UserStateChangedEventListener : CremaEventListenerBase + class UserStateChangedEventListenerHost : CremaEventListenerHost { private readonly ICremaHost cremaHost; [ImportingConstructor] - public UserStateChangedEventListener(ICremaHost cremaHost) + public UserStateChangedEventListenerHost(ICremaHost cremaHost) : base(CremaEvents.UserStateChanged) { this.cremaHost = cremaHost; diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBase/TableStateChangedEventListener.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBase/TableStateChangedEventListener.cs deleted file mode 100644 index 145f44c7d..000000000 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/Listeners/DataBase/TableStateChangedEventListener.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Ntreev.Crema.Services; -using System; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.Text; -using System.Windows.Threading; - -namespace Ntreev.Crema.Javascript.Methods.Listeners.DataBases -{ - [Export(typeof(CremaDataBaseEventListenerBase))] - [PartCreationPolicy(CreationPolicy.NonShared)] - class TableStateChangedEventListener : CremaDataBaseEventListenerBase - { - private readonly ICremaHost cremaHost; - - [ImportingConstructor] - public TableStateChangedEventListener(ICremaHost cremaHost) - : base(CremaDataBaseEvents.TableStateChanged) - { - this.cremaHost = cremaHost; - } - - protected override void OnSubscribe(IDataBase dataBase) - { - dataBase.TableContext.Tables.TablesStateChanged += Tables_TablesStateChanged; - } - - protected override void OnUnsubscribe(IDataBase dataBase) - { - dataBase.TableContext.Tables.TablesStateChanged -= Tables_TablesStateChanged; - } - - private void Tables_TablesStateChanged(object sender, ItemsEventArgs e) - { - this.Invoke(null); - } - } -} diff --git a/common/Ntreev.Crema.Javascript.Sharing/Methods/RemoveDataBaseEventListenerMethod.cs b/common/Ntreev.Crema.Javascript.Sharing/Methods/RemoveDataBaseEventListenerMethod.cs index 4b7fd47d7..5348c1373 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Methods/RemoveDataBaseEventListenerMethod.cs +++ b/common/Ntreev.Crema.Javascript.Sharing/Methods/RemoveDataBaseEventListenerMethod.cs @@ -37,12 +37,12 @@ public RemoveDataBaseEventListenerMethod() protected override Delegate CreateDelegate() { - return new Action(this.RemoveDataBaseEventListener); + return new Action(this.RemoveDataBaseEventListener); } - private void RemoveDataBaseEventListener(CremaDataBaseEvents eventName, CremaDataBaseEventListener listener) + private void RemoveDataBaseEventListener(DataBaseEvents eventName, DataBaseEventListener listener) { - if (this.Context.Properties[typeof(CremaDataBaseEventListenerContext)] is CremaDataBaseEventListenerContext context) + if (this.Context.Properties[typeof(DataBaseEventListenerContext)] is DataBaseEventListenerContext context) { context.RemoveEventListener(eventName, listener); } diff --git a/common/Ntreev.Crema.Javascript.Sharing/Ntreev.Crema.Javascript.Sharing.projitems b/common/Ntreev.Crema.Javascript.Sharing/Ntreev.Crema.Javascript.Sharing.projitems index 52face709..5b5f7d89c 100644 --- a/common/Ntreev.Crema.Javascript.Sharing/Ntreev.Crema.Javascript.Sharing.projitems +++ b/common/Ntreev.Crema.Javascript.Sharing/Ntreev.Crema.Javascript.Sharing.projitems @@ -10,47 +10,64 @@ - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -65,8 +82,8 @@ - - + +