コード例 #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);
        }
コード例 #2
0
ファイル: MapperBase.cs プロジェクト: lanicon/Mendz.ETL
        public virtual IEnumerable <string> Transform(IEnumerable <string> input,
                                                      DocumentSpecification sourceSpecification,
                                                      DocumentSpecification targetSpecification)
        {
            ETLMapperEventArgs e = new ETLMapperEventArgs()
            {
                SourceSpecification = sourceSpecification,
                TargetSpecification = targetSpecification
            };

            OnMapperStart?.Invoke(this, e);
            foreach (var item in input)
            {
                e.Input = item;
                OnTransforming?.Invoke(this, e);
                e.Output = TransformInputToOutput(item, e.SourceSpecification, e.TargetSpecification);
                e.Counter++;
                OnTransformed?.Invoke(this, e);
                yield return(e.Output);
            }
            OnMapperEnd?.Invoke(this, e);
        }
コード例 #3
0
 /// <summary>
 /// Validates a document.
 /// </summary>
 /// <param name="documentSpecification">The document specification.</param>
 /// <returns>True if validation is passed. Otherwise, false.</returns>
 protected abstract bool ValidateDocument(DocumentSpecification documentSpecification);
コード例 #4
0
ファイル: MapperBase.cs プロジェクト: lanicon/Mendz.ETL
 /// <summary>
 /// Transforms the input to the output.
 /// </summary>
 /// <param name="input">The input to transform.</param>
 /// <param name="sourceSpecification">The source's document specification.</param>
 /// <param name="targetSpecification">The target's document specification.</param>
 /// <returns>The transformation output.</returns>
 protected abstract string TransformInputToOutput(string input, DocumentSpecification sourceSpecification, DocumentSpecification targetSpecification);