public virtual void OnCommitting(object sender, ContextCancelEventArgs e)
 {
 }
		public void OnCommitting(object sender, ContextCancelEventArgs e)
		{
			IUnitOfWork unitOfWork;
			if (this.ValidationManager.ValidateOnCommitting)
			{
				unitOfWork = this.Context.UnitOfWork;
				foreach (object obj in unitOfWork.GetCreatedObjects())
				{
					if (obj is IValidatable)
					{
						((IValidatable) (obj)).Validate();
					}
				}
				foreach (object obj in unitOfWork.GetDirtyObjects())
				{
					if (obj is IValidatable)
					{
						((IValidatable) (obj)).Validate();
					}
				}
				foreach (object obj in unitOfWork.GetDeletedObjects())
				{
					if (obj is IValidatable)
					{
						((IValidatable) (obj)).Validate();
					}
				}
			}
			if (!(m_RaiseEvents))
			{
				return;
			}
			if (!(m_RaiseBeforeEvents))
			{
				return;
			}
			if (!(m_RaiseContextEvents))
			{
				return;
			}
			foreach (IObserver observer in m_Observers)
			{
				observer.OnCommitting(sender, e);
			}
			foreach (IObserver observer in m_ContextObservers)
			{
				observer.OnCommitting(sender, e);
			}
			this.Observer.OnCommitting(sender, e);
		}