- add comments

pull/26/head
Simon Gockner 6 years ago
parent e4a0386f7d
commit 62c85e805d
  1. 12
      GBase.Api/GBaseEntryChangedEventArgs.cs
  2. 3
      GBase.Api/INotifyGBaseEntryChanged.cs
  3. 17
      GBase.Api/NotifyGBaseEntryChanged.cs

@ -11,13 +11,25 @@ namespace GBase.Api
/// </summary> /// </summary>
public class GBaseEntryChangedEventArgs : EventArgs //TODO: Rename to GBaseValueChanged or EntryUpdated? public class GBaseEntryChangedEventArgs : EventArgs //TODO: Rename to GBaseValueChanged or EntryUpdated?
{ {
/// <summary>
/// <see cref="EventArgs"/> for the <see cref="INotifyGBaseEntryChanged"/> event
/// </summary>
/// <param name="columnName">The name of the IGBaseColumn</param>
/// <param name="value">The new value</param>
public GBaseEntryChangedEventArgs(string columnName, object value) public GBaseEntryChangedEventArgs(string columnName, object value)
{ {
ColumnName = columnName; ColumnName = columnName;
Value = value; Value = value;
} }
/// <summary>
/// The name of the IGBaseColumn
/// </summary>
public string ColumnName { get; } public string ColumnName { get; }
/// <summary>
/// The new value
/// </summary>
public object Value { get; } public object Value { get; }
} }
} }

@ -11,6 +11,9 @@ namespace GBase.Api
/// </summary> /// </summary>
public interface INotifyGBaseEntryChanged public interface INotifyGBaseEntryChanged
{ {
/// <summary>
/// Notify the GBase that an entry has changed
/// </summary>
static event EventHandler<GBaseEntryChangedEventArgs> GBaseEntryChanged; static event EventHandler<GBaseEntryChangedEventArgs> GBaseEntryChanged;
} }
} }

@ -11,13 +11,26 @@ namespace GBase.Api
/// </summary> /// </summary>
public abstract class NotifyGBaseEntryChanged : INotifyGBaseEntryChanged //TODO: Rename to GBaseValueChanged or EntryUpdated? public abstract class NotifyGBaseEntryChanged : INotifyGBaseEntryChanged //TODO: Rename to GBaseValueChanged or EntryUpdated?
{ {
/// <summary>
/// Notify the GBase that an entry has changed
/// </summary>
public event EventHandler<GBaseEntryChangedEventArgs> GBaseEntryChanged; public event EventHandler<GBaseEntryChangedEventArgs> GBaseEntryChanged;
protected void RaiseGBaseEntryChanged(object sender, string propertyName, object value) /// <summary>
/// Raise the <see cref="GBaseEntryChanged"/> event
/// </summary>
/// <param name="sender">The sender</param>
/// <param name="columnName">The name of the IGBaseColumn</param>
/// <param name="value">The new value</param>
protected void RaiseGBaseEntryChanged(object sender, string columnName, object value)
{ {
GBaseEntryChanged?.BeginInvoke(sender, new GBaseEntryChangedEventArgs(propertyName, value), GBaseEntryChangedCallback, null); GBaseEntryChanged?.BeginInvoke(sender, new GBaseEntryChangedEventArgs(columnName, value), GBaseEntryChangedCallback, null);
} }
/// <summary>
/// Callback for the <see cref="GBaseEntryChanged"/> event
/// </summary>
/// <param name="asyncResult">The <see cref="IAsyncResult"/></param>
private void GBaseEntryChangedCallback(IAsyncResult asyncResult) private void GBaseEntryChangedCallback(IAsyncResult asyncResult)
{ {
GBaseEntryChanged?.EndInvoke(asyncResult); //TestMe: Does this work? Or is there something to be done with the asyncResult GBaseEntryChanged?.EndInvoke(asyncResult); //TestMe: Does this work? Or is there something to be done with the asyncResult

Loading…
Cancel
Save