using System.ComponentModel;
using System.Data;
-namespace System.Data.Common {
+namespace System.Data.Common
+{
public sealed class DataColumnMappingCollection : MarshalByRefObject, IColumnMappingCollection , IList, ICollection, IEnumerable
{
#region Fields
- ArrayList list;
- Hashtable sourceColumns;
- Hashtable dataSetColumns;
+ readonly ArrayList list;
+ readonly Hashtable sourceColumns;
+ readonly Hashtable dataSetColumns;
#endregion // Fields
#region Constructors
- public DataColumnMappingCollection ()
+ public DataColumnMappingCollection ()
{
list = new ArrayList ();
sourceColumns = new Hashtable ();
[Browsable (false)]
#if !NET_2_0
- [DataSysDescription ("The specified DataColumnMapping object.")]
+ [DataSysDescription ("The specified DataColumnMapping object.")]
#endif
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public DataColumnMapping this [string sourceColumn] {
get {
- if (!Contains(sourceColumn)) {
+ if (!Contains(sourceColumn))
throw new IndexOutOfRangeException("DataColumnMappingCollection doesn't contain DataColumnMapping with SourceColumn '" + sourceColumn + "'.");
- }
- return (DataColumnMapping) sourceColumns[sourceColumn]; }
- set { this [list.IndexOf (sourceColumns[sourceColumn])] = value; }
+ return (DataColumnMapping) sourceColumns [sourceColumn];
+ }
+ set {
+ this [list.IndexOf (sourceColumns [sourceColumn])] = value;
+ }
}
- object ICollection.SyncRoot {
- get { return list.SyncRoot; }
- }
+ object ICollection.SyncRoot {
+ get { return list.SyncRoot; }
+ }
- bool ICollection.IsSynchronized {
- get { return list.IsSynchronized; }
- }
+ bool ICollection.IsSynchronized {
+ get { return list.IsSynchronized; }
+ }
- object IColumnMappingCollection.this [string sourceColumn] {
- get { return this [sourceColumn]; }
+ object IColumnMappingCollection.this [string index] {
+ get { return this [index]; }
set {
if (!(value is DataColumnMapping))
throw new ArgumentException ();
- this [sourceColumn] = (DataColumnMapping) value;
+ this [index] = (DataColumnMapping) value;
}
}
- object IList.this [int index] {
- get { return this[index]; }
- set {
- if (!(value is DataColumnMapping))
- throw new ArgumentException ();
- this [index] = (DataColumnMapping) value;
- }
- }
+ object IList.this [int index] {
+ get { return this [index]; }
+ set {
+ if (!(value is DataColumnMapping))
+ throw new ArgumentException ();
+ this [index] = (DataColumnMapping) value;
+ }
+ }
- bool IList.IsReadOnly {
- get { return false; }
- }
+ bool IList.IsReadOnly {
+ get { return false; }
+ }
- bool IList.IsFixedSize {
- get { return false; }
- }
+ bool IList.IsFixedSize {
+ get { return false; }
+ }
#endregion // Properties
throw new InvalidCastException ();
list.Add (value);
- sourceColumns[((DataColumnMapping)value).SourceColumn] = value;
- dataSetColumns[((DataColumnMapping)value).DataSetColumn] = value;
+ sourceColumns [((DataColumnMapping) value).SourceColumn] = value;
+ dataSetColumns [((DataColumnMapping )value).DataSetColumn] = value;
return list.IndexOf (value);
}
}
#if NET_2_0
- [MonoTODO]
public void AddRange (Array values)
{
- throw new NotImplementedException ();
+ for (int i = 0; i < values.Length; ++i)
+ Add (values.GetValue (i));
}
#endif
- public void AddRange (DataColumnMapping[] values)
+ public void AddRange (DataColumnMapping[] values)
{
foreach (DataColumnMapping mapping in values)
Add (mapping);
}
- public void Clear ()
+ public void Clear ()
{
list.Clear ();
}
- public bool Contains (object value)
+ public bool Contains (object value)
{
- if (!(value is DataColumnMapping))
+ if (!(value is DataColumnMapping))
throw new InvalidCastException("Object is not of type DataColumnMapping");
return (list.Contains (value));
}
return (sourceColumns.Contains (value));
}
- public void CopyTo (Array array, int index)
+ public void CopyTo (Array array, int index)
{
- (list.ToArray()).CopyTo(array,index);
+ list.CopyTo (array,index);
}
- public DataColumnMapping GetByDataSetColumn (string value)
+#if NET_2_0
+ public void CopyTo (DataColumnMapping [] arr, int index)
+ {
+ list.CopyTo (arr, index);
+ }
+#endif
+
+ public DataColumnMapping GetByDataSetColumn (string value)
{
// this should work case-insenstive.
- if (!(dataSetColumns[value] == null))
- return (DataColumnMapping)(dataSetColumns[value]);
+ if (!(dataSetColumns [value] == null))
+ return (DataColumnMapping) (dataSetColumns [value]);
else {
- string lowcasevalue = value.ToLower();
- object [] keyarray = new object[dataSetColumns.Count];
- dataSetColumns.Keys.CopyTo(keyarray,0);
- for (int i=0; i<keyarray.Length; i++) {
- string temp = (string) keyarray[i];
- if (lowcasevalue.Equals(temp.ToLower()))
- return (DataColumnMapping)(dataSetColumns[keyarray[i]]);
+ string lowcasevalue = value.ToLower ();
+ object [] keyarray = new object [dataSetColumns.Count];
+ dataSetColumns.Keys.CopyTo (keyarray, 0);
+ for (int i = 0; i < keyarray.Length; i++) {
+ string temp = (string) keyarray [i];
+ if (lowcasevalue.Equals (temp.ToLower ()))
+ return (DataColumnMapping) (dataSetColumns [keyarray [i]]);
}
return null;
-
- }
+ }
}
[EditorBrowsable (EditorBrowsableState.Advanced)]
- public static DataColumnMapping GetColumnMappingBySchemaAction (DataColumnMappingCollection columnMappings, string sourceColumn, MissingMappingAction mappingAction)
+ public static DataColumnMapping GetColumnMappingBySchemaAction (DataColumnMappingCollection columnMappings, string sourceColumn, MissingMappingAction mappingAction)
{
if (columnMappings.Contains (sourceColumn))
return columnMappings[sourceColumn];
return GetByDataSetColumn (dataSetColumnName);
}
- public int IndexOf (object value)
+ public int IndexOf (object value)
{
return list.IndexOf (value);
}
public int IndexOf (string sourceColumn)
{
- return list.IndexOf (sourceColumns[sourceColumn]);
+ return list.IndexOf (sourceColumns [sourceColumn]);
}
- public int IndexOfDataSetColumn (string value)
+ public int IndexOfDataSetColumn (string dataSetColumn)
{
// this should work case-insensitive
-
- if (!(dataSetColumns[value] == null))
- return list.IndexOf (dataSetColumns[value]);
- else {
- string lowcasevalue = value.ToLower();
+ if (!(dataSetColumns [dataSetColumn] == null))
+ return list.IndexOf (dataSetColumns [dataSetColumn]);
+ else {
+ string lowcasevalue = dataSetColumn.ToLower ();
object [] keyarray = new object[dataSetColumns.Count];
- dataSetColumns.Keys.CopyTo(keyarray,0);
- for (int i=0; i<keyarray.Length; i++) {
- string temp = (string) keyarray[i];
- if (lowcasevalue.Equals(temp.ToLower()))
- return list.IndexOf (dataSetColumns[keyarray[i]]);
-
- }
- return -1;
-
- }
-
+ dataSetColumns.Keys.CopyTo (keyarray,0);
+ for (int i = 0; i < keyarray.Length; i++) {
+ string temp = (string) keyarray [i];
+ if (lowcasevalue.Equals (temp.ToLower ()))
+ return list.IndexOf (dataSetColumns [keyarray [i]]);
+ }
+ return -1;
+ }
}
- public void Insert (int index, object value)
+ public void Insert (int index, object value)
{
list.Insert (index, value);
- sourceColumns[((DataColumnMapping)value).SourceColumn] = value;
- dataSetColumns[((DataColumnMapping)value).DataSetColumn] = value;
+ sourceColumns [((DataColumnMapping) value).SourceColumn] = value;
+ dataSetColumns [((DataColumnMapping) value).DataSetColumn] = value;
}
- public void Remove (object value)
+#if NET_2_0
+ public void Insert (int index, DataColumnMapping mapping)
{
- int index = list.IndexOf (value);
- sourceColumns.Remove(((DataColumnMapping)value).SourceColumn);
- dataSetColumns.Remove(((DataColumnMapping)value).DataSetColumn);
- if (( index < 0 ) || (index >=list.Count))
- throw new ArgumentException("There is no such element in collection.");
+ list.Insert (index, mapping);
+ sourceColumns [mapping.SourceColumn] = mapping;
+ dataSetColumns [mapping.DataSetColumn] = mapping;
+ }
+#endif
+ public void Remove (object value)
+ {
+ int index = list.IndexOf (value);
+ sourceColumns.Remove (((DataColumnMapping) value).SourceColumn);
+ dataSetColumns.Remove (((DataColumnMapping) value).DataSetColumn);
+ if (index < 0 || index >=list.Count)
+ throw new ArgumentException("There is no such element in collection.");
list.Remove (value);
}
- public void RemoveAt (int index)
+#if NET_2_0
+ public void Remove (DataColumnMapping value)
{
- if (( index < 0 ) || (index >=list.Count))
- throw new IndexOutOfRangeException("There is no element in collection.");
+ int index = list.IndexOf (value);
+ sourceColumns.Remove (value.SourceColumn);
+ dataSetColumns.Remove (value.DataSetColumn);
+ if ( index < 0 || index >=list.Count)
+ throw new ArgumentException("There is no such element in collection.");
+ list.Remove (value);
+ }
+#endif
- Remove (list[index]);
+ public void RemoveAt (int index)
+ {
+ if (index < 0 || index >=list.Count)
+ throw new IndexOutOfRangeException("There is no element in collection.");
+ Remove (list [index]);
}
public void RemoveAt (string sourceColumn)
{
- RemoveAt (list.IndexOf (sourceColumns[sourceColumn]));
+ RemoveAt (list.IndexOf (sourceColumns [sourceColumn]));
}
- #endregion // Methods
+ #endregion // Methods
}
}