Beispiel #1
0
        public virtual bool Validate(DocumentSpecification documentSpecification)
        {
            bool isValid = true;

            if (documentSpecification.IsValidate)
            {
                ETLValidatorEventArgs e = new ETLValidatorEventArgs()
                {
                    DocumentSpecification = documentSpecification
                };
                OnValidating?.Invoke(this, e);
                try
                {
                    isValid = ValidateDocument(documentSpecification);
                }
                catch (Exception exception)
                {
                    if (IsThrowValidationException)
                    {
                        throw exception;
                    }
                    else
                    {
                        e.Exception = exception;
                        isValid     = false;
                    }
                }
                e.IsValid = isValid;
                OnValidated?.Invoke(this, e);
            }
            return(isValid);
        }
Beispiel #2
0
        protected void ValidateData(IntegrationContext context)
        {
            foreach (DataItem item in context.Data)
            {
                if (OnValidating != null)
                {
                    DataItemValidationHandler handler = (DataItemValidationHandler)OnValidating.Clone();
                    handler.Invoke(item, new DataItemValidationArgs(item.ValidationResults));

                    if (!item.IsValid)
                    {
                        context.SkippedData.Add(item);
                        context.Data.Remove(item);
                    }
                }
            }

            // TODO: release the event handler
        }