Пример #1
0
        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);
            }
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        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);
            }
        }