public List <User> ExtractUsersFromNamesAndAddresses(string addressFileLocation, string nameFileLocation) { var addressEngine = new FileHelpers.FileHelperEngine <Address>(); Address[] addresses = addressEngine.ReadFile(addressFileLocation); var nameEngine = new FileHelpers.FileHelperEngine <Name>(); Name[] names = nameEngine.ReadFile(nameFileLocation); List <User> users = new List <User>(); if (names.Length == addresses.Length) { for (int i = 0; i < names.Length; i++) { users.Add( new User() { FullName = names[i].NameValue, Address = addresses[i].AddressValue }); } } //_writer.WriteAll(users); return(users); }
private void ReadFileHeader(string fileName) { fileEngine = new FileHelpers.FileHelperEngine(typeof(CetipFileHeader)); CetipFileHeader[] headerContent = fileEngine.ReadFile(fileName, 1) as CetipFileHeader[]; if (headerContent != null) { gridHeader.Visible = true; gridHeader.DataSource = headerContent; } }
public void ImportRows() { FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(typeof(GitUser)); GitUser[] res = engine.ReadFile(dataLocation) as GitUser[]; List <IdentRow> users = new List <IdentRow>(); foreach (GitUser user in res) { new IdentRow(DSType, user.ident, user.name, user.name, normalizeRole(user.role)).StoreRow(); } }
/// <summary> /// Gets the data from file. /// </summary> /// <param name="filePath">The file path.</param> /// <param name="errorMode">The error mode.</param> /// <param name="isFirstLineHeader">if set to <c>true</c> [the file's first line will be considered as a header file].</param> /// <returns>Return an object that contains source's data (file) converted to TDestination object with Errors /// (business and technical) if any.</returns> public IDataOutputResult <TDestination> GetDataFromFile(string filePath, ErrorMode errorMode, bool isFirstLineHeader) { switch (errorMode) { case ErrorMode.ThrowException: fileEngine.ErrorManager.ErrorMode = FileHelpers.ErrorMode.ThrowException; break; case ErrorMode.SaveAndContinue: fileEngine.ErrorManager.ErrorMode = FileHelpers.ErrorMode.SaveAndContinue; break; case ErrorMode.IgnoreAndContinue: fileEngine.ErrorManager.ErrorMode = FileHelpers.ErrorMode.IgnoreAndContinue; break; } if (isFirstLineHeader) { fileEngine.Options.IgnoreFirstLines = 1; } try { TSource[] data = fileEngine.ReadFile(filePath); List <IErrorMessage> errors = fileEngine.ErrorManager.GetFileTechnicalErrors(); List <TDestination> convertedData = new List <TDestination>(); foreach (var item in data) { ITransformedResult <TDestination> transformedResult = item.GetTransformed(); if (transformedResult.HasError) { errors.Add(transformedResult.ErrorMessage); } if (!transformedResult.IsTechnicalError) { convertedData.Add(transformedResult.ResultData); } } return(new DataOutputResult <TDestination>(errors, convertedData)); } catch (Exception ex) { List <IErrorMessage> errorList = new List <IErrorMessage>(); IErrorMessage error = new ErrorMessage(ErrorMessageType.TechnicalMessage); errorList.Add(error); error.Message = ex.InnerException.IsNotNull() ? ex.InnerException.Message : ex.Message; return(new DataOutputResult <TDestination>(errorList, null)); } }
private void ReadFileContent(string fileName) { CetipFileRecord[] content = null; fileEngine = new FileHelpers.FileHelperEngine(typeof(CetipFileRecord)); fileEngine.Options.IgnoreFirstLines = 1; fileEngine.Options.IgnoreEmptyLines = true; content = fileEngine.ReadFile(fileName) as CetipFileRecord[]; if (content != null) { gridConteudo.Visible = true; gridConteudo.DataSource = content; } }
/// <summary> /// Metodo para leer el archivo y persistirlo en la BD /// <remarks> /// Este método debería guardar un diferencial diariamente. /// Ahora mismo solo vacia el contenido completo. /// </remarks> /// </summary> public void ImportarArchivo() { var parseEngine = new FileHelpers.FileHelperEngine<Models.RncMapper>(); var rncs = parseEngine.ReadFile(Common.RutaArchivoCsv); //TODO: Aqui deberiamos usar un método ASYNC para ir enviando mensajes de progreso var dbRncList = new List<Models.RNC>(); for (int i = 0; i < rncs.Length ; i++) { var item = rncs[i]; DateTime fecha; var dbItem = new Models.RNC { NumeroRnc = item.NumeroRnc, RazonSocial = item.RazonSocial, NombreComercial = item.NombreComercial, ActividadPrincipal = item.ActividadPrincipal, DireccionCalle = item.DireccionCalle, DireccionNumero = item.DireccionNumero, DireccionSector = item.DireccionSector, Telefono = item.Telefono, RegimenPago = item.RegimenPago, Estado = item.Estado }; if (DateTime.TryParseExact(item.FechaConstitucion, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out fecha)) { dbItem.FechaConstitucion = fecha; } dbRncList.Add(dbItem); } //TODO: Ahora mismo está todo en un método, hay que separar las tareas de parsing de las de escritura en la BD var context = new Database(); //Prueba con los primeros cinco mil registros foreach (var rnc in dbRncList.Take(5000)) { context.ListadoRNCs.Add(rnc); } context.SaveChanges(); }
public async Task ExportCsvToMySQL <T>(string myDirPath) where T : class { using (var db = new TrainsDb_200123Context()) { DirectoryInfo d = new DirectoryInfo(myDirPath); //Assuming Test is your Folder FileInfo[] Files = d.GetFiles("*.csv"); foreach (FileInfo file in Files) { FileHelpers.FileHelperEngine <T> engine = new FileHelpers.FileHelperEngine <T>(Encoding.GetEncoding("ISO-8859-1")); engine.HeaderText = engine.GetFileHeader().Remove(0, 3); engine.ErrorManager.ErrorMode = FileHelpers.ErrorMode.SaveAndContinue; T[] trains = engine.ReadFile(file.FullName); //Array.ForEach(trains, e => e.Id = 0); await db.AddRangeAsync(trains); await db.SaveChangesAsync(); /* * int count = 0; * foreach (var train in trains) * { * count++; * train.Id = 0; * db.CzPreosGtn.Add(train); * db.SaveChanges(); * } */ if (engine.ErrorManager.HasErrors) { engine.ErrorManager.SaveErrors($"{myDirPath}\\err-{file.Name}.out"); } Console.WriteLine($"Importet file: {file.Name}"); //Console.WriteLine($"Records: {count}"); //ReadFileLineByLine(db, file); } Console.WriteLine($"finished: {myDirPath}"); return; } }
static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); Type t = GetClassType(typeof(Tools.Serialization.CSV.Customer), ","); //FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(typeof(SemicolonCustomer)); FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(t); string str = "path/to/datafile"; Tools.Serialization.CSV.Customer[] custs = (Tools.Serialization.CSV.Customer[])engine.ReadFile(str); //Customer[] custs = (Customer[]) engine.ReadFile("yourfile.txt"); foreach (Tools.Serialization.CSV.Customer cli in custs) { Console.WriteLine(); Console.WriteLine("Customer: " + cli.CustId.ToString() + " - " + cli.Name); Console.WriteLine("Added Date: " + cli.AddedDate.ToString("d-M-yyyy")); Console.WriteLine("Balance: " + cli.Balance.ToString()); Console.WriteLine(); Console.WriteLine("-----------------------------"); } // Next cli Console.WriteLine(Environment.NewLine); Console.WriteLine(" --- Press any key to continue --- "); Console.ReadKey(); }
public void Aiports() { var engine = new FileHelpers.FileHelperEngine<BigDataData.Csv.Airport>(); var result = engine.ReadFile(@"D:\stuff\datasource\airports.csv"); try { foreach (BigDataData.Csv.Airport air in result) { context.AddAirport(new BigDataData.Models.Airport { ImportedId = air.AirportId, Altitude = air.Altitude, City = air.City, Country = air.Country, Dst = air.Dst, IataFaa = air.IataFaa, Icao = air.Icao, Latitude = air.Latitude, Longitude = air.Longitude, Name = air.Name, Timezone = air.Timezone, TzDatabaseTimeZone = air.TzDatabaseTimeZone }); } } catch (Exception eek) { Console.WriteLine("Save error: {0}", eek.Message); } Console.WriteLine("Done"); Console.ReadKey(); }
public void Airlines() { var engine = new FileHelpers.FileHelperEngine<BigDataData.Csv.Airline>(); var result = engine.ReadFile(@"D:\stuff\datasource\airlines.csv"); try { foreach (BigDataData.Csv.Airline air in result) { context.AddAirline(new BigDataData.Models.Airline { ImportedId = air.AirlineId, Name = air.Name, Alias = air.Alias, Iata = air.Iata, Icao = air.Icao, Callsign = air.Callsign, Country = air.Country, Active = air.Active }); } } catch (Exception eek) { Console.WriteLine("Save error: {0}", eek.Message); } }
static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); Type t = GetClassType(typeof(Tools.Serialization.CSV.Customer), ","); //FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(typeof(SemicolonCustomer)); FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(t); // To read use: string str = @"D:\Stefan.Steiger\Documents\Visual Studio 2010\Projects\MvcExamples\FileHelpers_Examples_CSharp_VbNet\Data\SemicolonCustomers.txt"; str = @"D:\Stefan.Steiger\Documents\Visual Studio 2010\Projects\MvcExamples\FileHelpers_Examples_CSharp_VbNet\Data\CustomersDelimited.txt"; //str = @"D:\Stefan.Steiger\Desktop\FileHelpers_Examples_CSharp_VbNet\Data\CustomersDelimited.txt"; Tools.Serialization.CSV.Customer[] custs = (Tools.Serialization.CSV.Customer[])engine.ReadFile(str); //Customer[] custs = (Customer[]) engine.ReadFile("yourfile.txt"); foreach (Tools.Serialization.CSV.Customer cli in custs) { Console.WriteLine(); Console.WriteLine("Customer: " + cli.CustId.ToString() + " - " + cli.Name); Console.WriteLine("Added Date: " + cli.AddedDate.ToString("d-M-yyyy")); Console.WriteLine("Balance: " + cli.Balance.ToString()); Console.WriteLine(); Console.WriteLine("-----------------------------"); } // Next cli Console.WriteLine(Environment.NewLine); Console.WriteLine(" --- Press any key to continue --- "); Console.ReadKey(); }
public static void Main(string[] args) { var options = new Options(); CommandLine.ICommandLineParser cmdParser = new CommandLine.CommandLineParser(new CommandLine.CommandLineParserSettings(System.Console.Error)); if (cmdParser.ParseArguments(args, options)) { string connectionString = string.Format("URI=file:{0}", options.Database); #if (NET) var connection = new System.Data.SQLite.SQLiteConnection(connectionString); #else var connection = new Mono.Data.Sqlite.SqliteConnection(connectionString); #endif connection.Open(); var command = connection.CreateCommand(); command.CommandText = "CREATE TABLE IF NOT EXISTS at (id INTEGER PRIMARY KEY NOT NULL,name VARCHAR,surname VARCHAR,year INTEGER,gender CHAR,time VARCHAR)"; command.ExecuteNonQuery(); var repo = new AthleteRepository(command); switch (options.Action) { case Action.Module: { // 10mm d=> 28pt // 15mm => 42pt //float marginLeft, float marginRight, float marginTop, float marginBottom var document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 10, 10, 36, 36); iTextSharp.text.pdf.PdfWriter.GetInstance(document, new System.IO.FileStream("./module.pdf", System.IO.FileMode.Create)); document.Open(); var builder = new ModuleBuilder(document, options.YearEdition, 10); for (int page = 0; page < 10; page++) { builder.AddPage(); } document.Close(); break; } case Action.Insert: { System.Console.WriteLine("Drop all results?[y/N]?"); string yes = System.Console.ReadLine(); if (yes == "y") { FileHelpers.FileHelperEngine<Athlete> engine = new FileHelpers.FileHelperEngine<Athlete>(); Athlete[] athletes = engine.ReadFile(options.Input); repo.DeleteAll(); foreach (var a in athletes) { System.Console.WriteLine(a.Name); repo.Insert(a); } } break; } case Action.CreateList: case Action.CreateResult: { string catFileName = GetCatFileName(options); string reportFileName = GetReportFileName(options); var document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 10, 10, 36, 36); iTextSharp.text.pdf.PdfWriter.GetInstance(document, new System.IO.FileStream(reportFileName, System.IO.FileMode.Create)); document.Open(); IBuilder builder = null; if (options.Action == Action.CreateList) { builder = new ListBuilder(document); } else { builder = new PdfBuilder(document); } Category[] cats = GetCategories(catFileName); foreach (Category cat in cats) { if (log.IsDebugEnabled) log.Debug("parse" + cat.Id); builder.BeginReport(cat.Title, options.YearEdition); var athletes = repo.Query(string.Format (cat.Sql, options.YearEdition)); foreach (Athlete athlete in athletes) { builder.Add(athlete); } builder.EndReport(); } document.Close(); break; } case Action.Interactive: { Category[] cats = GetCategories(GetCatFileName(options)); var parser = new TimeParser(); foreach (Category cat in cats) { System.Console.WriteLine("========{0}=========", cat.Id); var athletes = repo.Query(string.Format (cat.Sql, options.YearEdition)); foreach (Athlete athlete in athletes) { System.Console.Write("{0:00} {1}\t{2}({3}):", athlete.Id, athlete.Surname, athlete.Name, athlete.Gender); string time = string.Empty; string fmt = string.Empty; do { time = System.Console.ReadLine(); fmt = parser.Parse(time); if (!string.IsNullOrEmpty(fmt) ) { System.Console.WriteLine(fmt); repo.UpdateTime(athlete.Id, fmt); } else { if (time != "s") { System.Console.WriteLine("invalid.."); } } } while (string.IsNullOrEmpty(fmt) && time != "s"); } } break; } } connection.Close(); } }
private static Category[] GetCategories(string filename) { FileHelpers.FileHelperEngine<Category> engineCat = new FileHelpers.FileHelperEngine<Category>(); return engineCat.ReadFile(filename); }