/// <summary> /// Raises the <see cref="Updating"/> event. /// </summary> /// <param name="args">The <see cref="NIntegrate.Web.EventArgs.DataSourceUpdatingEventArgs"/> instance containing the event data.</param> internal void OnUpdating(DataSourceUpdatingEventArgs args) { if (Updating != null) { Updating(this, args); } }
protected override int ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) { if (_owner.Criteria == null) { throw new ArgumentException("Missing QueryTableType or Criteria setting on QueryDataSource"); } if (keys == null || keys.Count == 0) { throw new ArgumentNullException("keys"); } if (values == null || values.Count == 0) { throw new ArgumentNullException("values"); } var updatingArgs = new DataSourceUpdatingEventArgs(GetReadOnlyDictionary(keys), values, oldValues); _owner.OnUpdating(updatingArgs); if (updatingArgs.Cancel) { return(0); } if (_owner.ConflictDetection == ConflictOptions.CompareAllValues) { DetectCompareAllValuesConflicts(oldValues, keys); } var criteria = CreateUpdateCriteria(keys, values); var affectedRows = _owner.QueryService.Execute(criteria, false); var statusArgs = new DataSourceStatusEventArgs(this, affectedRows); _owner.OnUpdated(statusArgs); if (affectedRows > 0) { OnDataSourceViewChanged(System.EventArgs.Empty); } return(affectedRows); }
protected void dsServers_Updating(object sender, DataSourceUpdatingEventArgs e) { e.NewValues["ServerName"] = e.NewValues["ServerName"].ToString().ToLowerInvariant(); }