public override int Add(object value) { QaParameter param = (QaParameter)value; CheckSetParent(param); parameters.Add(param); return(parameters.Count - 1); }
public override void Insert(int index, object value) { QaParameter param = (QaParameter)value; CheckSetParent(param); parameters.Insert(index, param); }
public override void RemoveAt(int index) { if (!CheckRange(index)) { throw new ArgumentOutOfRangeException("index"); } QaParameter param = parameters[index]; param.ResetParent(); parameters.RemoveAt(index); }
public override int IndexOf(object value) { QaParameter param = (QaParameter)value; for (int i = 0; i < parameters.Count; i++) { if (parameters[i] == value) { return(i); } } return(-1); }
private void CheckSetParent(QaParameter param) { if (param.parent != null) { if (param.parent == this) { throw new Exception("This parameter has already been added to this collection."); } else { throw new Exception("This parameter has already been added to another collection."); } } param.parent = this; }
protected override void SetParameter(int index, DbParameter value) { if (!CheckRange(index)) { throw new IndexOutOfRangeException("index"); } QaParameter newparam = (QaParameter)value; CheckSetParent(newparam); QaParameter oldparam = parameters[index]; oldparam.ResetParent(); parameters[index] = newparam; }