[Quantproject-developers] QuantDownloader/Downloader/Validate/Validators MultiValidator.cs,NONE,1.1
Brought to you by:
glauco_1
|
From: <gla...@us...> - 2003-12-16 16:27:31
|
Update of /cvsroot/quantproject/QuantDownloader/Downloader/Validate/Validators
In directory sc8-pr-cvs1:/tmp/cvs-serv26137/Validate/Validators
Added Files:
MultiValidator.cs
Log Message:
Invokes several different validators and
bubbles up the SuspiciousRow events.
--- NEW FILE: MultiValidator.cs ---
using System;
using System.Data;
using QuantProject.Applications.Downloader.Validate;
using QuantProject.Applications.Downloader.Validate.Validators;
namespace QuantProject.Applications.Downloader.Validate.Validators
{
/// <summary>
/// Calls several different quotes' validators
/// </summary>
public class MultiValidator : IValidator
{
private double suspiciousRatio;
public double SuspiciousRatio
{
get { return this.suspiciousRatio; }
set { this.suspiciousRatio = value; }
}
public MultiValidator()
{
//
// TODO: Add constructor logic here
//
}
public event SuspiciousDataRowEventHandler SuspiciousDataRow;
#region "Validate"
private void suspiciousDataRowHandler( Object sender ,
SuspiciousDataRowEventArgs eventArgs )
{
SuspiciousDataRow( this , eventArgs );
}
/// <summary>
/// Validates the Open High Low Close consistencies
/// </summary>
/// <param name="dataTable">Quote rows to be validated</param>
private void validate_OHLC( DataTable dataTable )
{
OHLCvalidator oHLCvalidator = new OHLCvalidator();
oHLCvalidator.SuspiciousDataRow +=
new SuspiciousDataRowEventHandler( suspiciousDataRowHandler );
oHLCvalidator.Validate( dataTable );
}
/// <summary>
/// Validates the Close to Close differencies
/// </summary>
/// <param name="dataTable">Quote rows to be validated</param>
private void validate_CloseToClose( DataTable dataTable )
{
CloseToCloseValidator closeToCloseValidator = new CloseToCloseValidator();
closeToCloseValidator.SuspiciousRatio = this.suspiciousRatio;
closeToCloseValidator.SuspiciousDataRow +=
new SuspiciousDataRowEventHandler( suspiciousDataRowHandler );
closeToCloseValidator.Validate( dataTable );
}
/// <summary>
/// Validates the quotes rows
/// </summary>
/// <param name="dataTable">Contains the quotes rows to be validated</param>
public void Validate( DataTable dataTable )
{
this.validate_OHLC( dataTable );
this.validate_CloseToClose( dataTable );
}
}
#endregion
}
|