// Author: Gockner, Simon
// Created: 2020-03-06
// Copyright(c) 2020 SimonG. All Rights Reserved.
using System;
namespace GBase.Api
{
///
/// Notify the GBase that an entry has changed
///
public abstract class NotifyGBaseEntryChanged : INotifyGBaseEntryChanged //TODO: Rename to GBaseValueChanged or EntryUpdated?
{
///
/// Notify the GBase that an entry has changed
///
public event EventHandler GBaseEntryChanged;
///
/// Raise the event
///
/// The sender
/// The name of the IGBaseColumn
/// The new value
protected void RaiseGBaseEntryChanged(object sender, string columnName, object value)
{
GBaseEntryChanged?.BeginInvoke(sender, new GBaseEntryChangedEventArgs(columnName, value), GBaseEntryChangedCallback, null);
}
///
/// Callback for the event
///
/// The
private void GBaseEntryChangedCallback(IAsyncResult asyncResult)
{
GBaseEntryChanged?.EndInvoke(asyncResult); //TestMe: Does this work? Or is there something to be done with the asyncResult
}
}
}