public override IEnumerable<IResult> ExtractData(object model, IDataToImport dataToImport, IDataSourceLocation currentLocation)
        {
            var results = new List<IResult>();            

            try
            {
                var parsingResult = _parser.Parse(dataToImport, currentLocation, _propertyType) as IParsingResult;

                _valueAssigner.AssignValue(model, _propertyPath, parsingResult.Value, _propertyType);

                results.Add(new BaseResult(ResultLevel.DEBUG, string.Format("Extract data from csv file and assign to model {0}", currentLocation.ToString())));
                return results;
            }
            catch(Exception ex)
            {
                results.Add(new BaseResult(ResultLevel.ERROR, string.Format("Extract data from csv file and assign to model fail. {0}", currentLocation.ToString())));
                
            }
            
            return results;
            
            
        }
示例#2
0
        public IResult Validate(IDataToImport dataToImport)
        {
            try
            {
                var valueParser = _parserFactory.GetElementParser(_elementValueType);
                var parsedValue = valueParser.Parse(dataToImport, _location, _elementValueType) as IParsingResult;

                var isCriteriaMet = _criteria.Meet(parsedValue.Value);

                if (isCriteriaMet)
                {
                    return(new BaseResult(ResultLevel.INFO, "Criteria matches"));
                }
                else
                {
                    return(new BaseResult(ResultLevel.ERROR, "Criteria not matches"));
                }
            }
            catch (Exception)
            {
                return(new BaseResult(ResultLevel.ERROR, "System not able to compare to the criteria since parsing value from data fail. Failing at " + _location.ToString()));
            }
        }
示例#3
0
        public IEnumerable <IResult> ExtractData(object model, IDataToImport dataToImport, IDataSourceLocation locationToParse)
        {
            var results = new List <IResult>();

            try
            {
                var parsingResult = _parser.Parse(dataToImport, locationToParse, _propertyType) as IParsingResult;

                _valueAssigner.AssignValue(model, _propertyPath, parsingResult.Value, _propertyType);

                results.Add(new BaseResult(ResultLevel.DEBUG, string.Format("Extract data from xml file and assign to model {0}", locationToParse.ToString())));
                return(results);
            }
            catch (Exception ex)
            {
                results.Add(new BaseResult(ResultLevel.ERROR, string.Format("Extract data from xml file and assign to model fail. {0}", locationToParse.ToString())));
            }

            return(results);
        }