public async Task <TaxiAutorizations> TaxiFromPlateSqliteAll() { var all = new TaxiAutorizations(); using (var con = new SqliteConnection()) { con.ConnectionString = "Data Source=taxis.sqlite3;"; //con.ConnectionString = "taxis.sqlite3"; await con.OpenAsync(); TaxiAutorization taxi = null; using (var cmd = con.CreateCommand()) { cmd.CommandText = "select * from cluj"; using (var rd = await cmd.ExecuteReaderAsync()) { while (await rd.ReadAsync()) { // just first record taxi = From(rd); all.Add(taxi); } } } return(all); } }
/// <summary> /// returns taxis and not parsed successfully lines /// </summary> /// <returns></returns> public Tuple <TaxiAutorizations, string[]> TaxisFromCSV() { var taxis = new TaxiAutorizations(); var lines = LinesFromCSV(); var records = lines .Where(it => !string.IsNullOrWhiteSpace(it)) .Select(it => new { line = it, bucTaxi = new BucarestCSV(it) }) .Select(t => new { t.line, t.bucTaxi, HasError = t.bucTaxi.Parse().Any() }) .ToArray(); var errorsLines = records .Where(it => it.HasError) .Select(it => it.line) .ToArray(); var recordsNoErrors = records .Where(it => !it.HasError) .Select(it => it.bucTaxi) .ToArray(); foreach (var record in recordsNoErrors) { taxis.Add(FromBucarestCSV(record)); } return(Tuple.Create(taxis, errorsLines)); }
public async Task <TaxiAutorizations> TaxiFromPlateSqliteAll() { TaxiAutorizations ret = new TaxiAutorizations(); using (var con = new SqliteConnection()) { con.ConnectionString = "Data Source=taxis.sqlite3;"; await con.OpenAsync(); using (var cmd = con.CreateCommand()) { cmd.CommandText = "select * from bucuresti"; using (var rd = await cmd.ExecuteReaderAsync()) { while (await rd.ReadAsync()) { // just first record Func <object, string> empty = (rec) => { if (rec == null) { return(""); } if (rec == DBNull.Value) { return(""); } string value = rec.ToString(); if (string.IsNullOrWhiteSpace(value)) { return(""); } return(value); }; string line = ""; line += empty(rd["Nr. Aut. Taxi"]); line += "|"; line += empty(rd["Stare Aut. Taxi"]); line += "|"; line += empty(rd["Nume Transportator"]); line += "|"; line += empty(rd["Marca Auto"]); line += "|"; line += empty(rd["An Fabricatie Auto"]); line += "|"; line += empty(rd["Nr. Inmatriculare Auto"]); line += "|"; line += empty(rd["Expirare Valabilitate"]); line += "|"; line += empty(rd["Observatii"]); var bucarestCSV = new BucarestCSV(line); var err = bucarestCSV.Parse().FirstOrDefault(); if (err != null) { throw new ArgumentException($"line:{line} ex:{ err.ErrorMessage}"); } ret.Add(FromBucarestCSV(bucarestCSV)); } } } return(ret); } }