//------------------------------------------------------------------------------
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
//                                                                 
//------------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
    using System;
    using System.Collections.Specialized;
    using System.ComponentModel;
    /// 
    /// Provides data for some  events.
    /// 
    public class FormViewInsertedEventArgs : EventArgs {
        private int _affectedRows;
        private Exception _exception;
        private bool _exceptionHandled;
        private bool _keepInInsertMode;
        private IOrderedDictionary _values;
        /// 
        /// Initializes a new instance of the 
        /// class.
        /// 
        public FormViewInsertedEventArgs(int affectedRows, Exception e) {
            this._affectedRows = affectedRows;
            this._exceptionHandled = false;
            this._exception = e;
            this._keepInInsertMode = false;
        }
        /// 
        ///    Gets the source of the command. This property is read-only.
        /// 
        public int AffectedRows {
            get {
                return _affectedRows;
            }
        }
        /// 
        ///    Gets the exception (if any) that occurred during the operation. This property is read-only.
        /// 
        public Exception Exception {
            get {
                return _exception;
            }
        }
        /// 
        ///    Gets a flag telling whether the exception was handled.
        /// 
        public bool ExceptionHandled {
            get {
                return _exceptionHandled;
            }
            set {
                _exceptionHandled = value;
            }
        }
        /// 
        ///    Gets or sets whether the control should be rebound.
        /// 
        public bool KeepInInsertMode {
            get {
                return _keepInInsertMode;
            }
            set {
                _keepInInsertMode = value;
            }
        }    
        
        /// 
        /// Gets a OrderedDictionary to populate with inserted row values.  This property is read-only.
        /// 
        public IOrderedDictionary Values {
            get {
                if (_values == null) {
                    _values = new OrderedDictionary();
                }
                return _values;
            }
        }
        internal void SetValues(IOrderedDictionary values) {
            _values = values;
        }
    }
}