Example #1
0
        public override bool Load(IPluginParams pluginParams, IEnumerable <object> transformed)
        {
            var loaderParams = pluginParams as SimpleSqlLoaderParams;

            if (loaderParams == null)
            {
                throw new ArgumentException($"{this.GetType().Name} expects parameters of ${nameof(SimpleSqlLoaderParams)} type.");
            }
            var errors = new List <SimpleSqlLoaderParams.Error>();

            using (var db = _dbFactory.Create(loaderParams.DbType, loaderParams.ConnectionString))
            {
                foreach (var entity in transformed)
                {
                    try
                    {
                        // ** TODO: Upsert based on more sophisticated keys.
                        InsertEntity(db, entity);
                    }
                    catch (Exception ex)
                    {
                        errors.Add(new SimpleSqlLoaderParams.Error(entity, ex));
                    }
                }
            }

            loaderParams.Errors = errors.AsReadOnly();
            return(!loaderParams.Errors.Any());
        }
Example #2
0
        public IEnumerable <object> Extract(IPluginParams pluginParams)
        {
            var csvParams = pluginParams as CsvExtractorParams;

            if (csvParams == null)
            {
                throw new ArgumentException($"Parameters must be of type ${nameof(CsvExtractorParams)}.");
            }

            var results = new List <object>();

            foreach (var file in csvParams.Files)
            {
                using (var reader = new StreamReader(File.OpenRead(file.Path)))
                    using (var csv = new CsvReader(reader))
                    {
                        results.AddRange(csv.GetRecords(file.ModelType).ToArray());
                    }
            }
            return(results);
        }
Example #3
0
 public abstract bool Load(IPluginParams pluginParams, IEnumerable <object> transformed);
Example #4
0
 public override bool Load(IPluginParams pluginParams, System.Collections.Generic.IEnumerable <object> transformed)
 {
     return(true);
 }
Example #5
0
 public override IEnumerable <object> Transform(IPluginParams pluginParams, IEnumerable <object> extracted)
 {
     return(Enumerable.Empty <object>());
 }
Example #6
0
 public abstract IEnumerable <object> Transform(IPluginParams pluginParams, IEnumerable <object> extracted);