- 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>
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)
{
ColumnName = columnName;
Value = value;
}
/// <summary>
/// The name of the IGBaseColumn
/// </summary>
public string ColumnName { get; }
/// <summary>
/// The new value
/// </summary>
public object Value { get; }
}
}

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

@ -11,13 +11,26 @@ namespace GBase.Api
/// </summary>
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;
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)
{
GBaseEntryChanged?.EndInvoke(asyncResult); //TestMe: Does this work? Or is there something to be done with the asyncResult

Loading…
Cancel
Save