2016-08-03 10:59:49 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
// <copyright file="RowUpdatingEventArgs.cs" company="Microsoft">
|
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
// </copyright>
|
2017-08-21 15:34:15 +00:00
|
|
|
// <owner current="true" primary="true">Microsoft</owner>
|
|
|
|
// <owner current="true" primary="false">Microsoft</owner>
|
2016-08-03 10:59:49 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
namespace System.Data.Common {
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Data;
|
|
|
|
|
|
|
|
/*
|
|
|
|
public delegate void RowUpdatingEventHandler(object sender, RowUpdatingEventArgs e);
|
|
|
|
*/
|
|
|
|
|
|
|
|
public class RowUpdatingEventArgs : System.EventArgs {
|
|
|
|
private IDbCommand _command;
|
|
|
|
private StatementType _statementType;
|
|
|
|
private DataTableMapping _tableMapping;
|
|
|
|
private Exception _errors;
|
|
|
|
|
|
|
|
private DataRow _dataRow;
|
|
|
|
private UpdateStatus _status; // UpdateStatus.Continue; /*0*/
|
|
|
|
|
|
|
|
public RowUpdatingEventArgs(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping) {
|
|
|
|
ADP.CheckArgumentNull(dataRow, "dataRow");
|
|
|
|
ADP.CheckArgumentNull(tableMapping, "tableMapping");
|
|
|
|
switch(statementType) {
|
|
|
|
case StatementType.Select:
|
|
|
|
case StatementType.Insert:
|
|
|
|
case StatementType.Update:
|
|
|
|
case StatementType.Delete:
|
|
|
|
break;
|
|
|
|
case StatementType.Batch:
|
|
|
|
throw ADP.NotSupportedStatementType(statementType, "RowUpdatingEventArgs");
|
|
|
|
default:
|
|
|
|
throw ADP.InvalidStatementType(statementType);
|
|
|
|
}
|
|
|
|
_dataRow = dataRow;
|
|
|
|
_command = command; // maybe null
|
|
|
|
_statementType = statementType;
|
|
|
|
_tableMapping = tableMapping;
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
virtual protected IDbCommand BaseCommand {
|
|
|
|
get {
|
|
|
|
return _command;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_command = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public IDbCommand Command {
|
|
|
|
get {
|
|
|
|
return BaseCommand;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
BaseCommand = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Exception Errors {
|
|
|
|
get {
|
|
|
|
return _errors;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_errors = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public DataRow Row {
|
|
|
|
get {
|
|
|
|
return _dataRow;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public StatementType StatementType {
|
|
|
|
get {
|
|
|
|
return _statementType;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public UpdateStatus Status {
|
|
|
|
get {
|
|
|
|
return _status;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
switch(value) {
|
|
|
|
case UpdateStatus.Continue:
|
|
|
|
case UpdateStatus.ErrorsOccurred:
|
|
|
|
case UpdateStatus.SkipCurrentRow:
|
|
|
|
case UpdateStatus.SkipAllRemainingRows:
|
|
|
|
_status = value;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
throw ADP.InvalidUpdateStatus(value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public DataTableMapping TableMapping {
|
|
|
|
get {
|
|
|
|
return _tableMapping;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|