private void OnRowUpdated(object sender, SqlCeRowUpdatedEventArgs args) { DbDataAdapter da = (DbDataAdapter)sender; if (!updateHandlers.ContainsKey(da)) { throw new NDOException(314, "OnRowUpdated event can't be scheduled to a DataAdapter."); } IRowUpdateListener handler = updateHandlers[da]; handler.OnRowUpdate(args.Row); }
/// <summary> /// See <see cref="IProvider"> IProvider interface </see> /// </summary> public override void RegisterRowUpdateHandler(IRowUpdateListener handler) { if (!updateHandlers.ContainsKey(handler.DataAdapter)) { SqlCeDataAdapter da = handler.DataAdapter as SqlCeDataAdapter; if (da == null) { throw new NDOException(29, "Can't register SqlCe update handler for data adapter of type " + handler.DataAdapter.GetType().FullName + "."); } if (handler == null) { throw new ArgumentNullException("handler", "RegisterRowUpdateHandler"); } updateHandlers.Add(da, handler); // The RowUpdated method doesn't exist in an abstract form in DbDataAdapter. // So we need to add the handler here, where the concrete type is known. da.RowUpdated += new SqlCeRowUpdatedEventHandler(this.OnRowUpdated); } }
/// <summary> /// See <see cref="IProvider">IProvider interface</see>. /// </summary> public virtual void RegisterRowUpdateHandler(IRowUpdateListener handler) { }