Esempio n. 1
0
        public static void run()
        {
            SqliteDB db = new SqliteDB("myStuff.db");

            Console.WriteLine($"Database is at {db.DatabaseFileName}");

            // Create a DB Schema
            db.CreateTables()
            .Add <MyData>()
            .Commit();

            db.Insert(new
            {
                MyUID  = Guid.NewGuid(),
                MyName = "Test"
            },
                      OnConflict.Ignore,
                      tableName: "MyData");

            for (int i = 0; i < 5; i++)
            {
                db.Insert(new MyData()
                {
                    MyId  = i * 3,
                    MyUID = Guid.NewGuid()
                });
            }
            var allInts = db.Query <int>("SELECT MyId FROM MyData", null).ToArray();
        }
Esempio n. 2
0
        private static void compararGabineteDoacoes()
        {
            Console.WriteLine("Abrindo bancos");
            SqliteDB dbGabinete = new SqliteDB("gabinete_camara.db");
            SqliteDB dbDoacoes  = new SqliteDB("doacoes_2020.db");

            Console.WriteLine("Selecionando doadores");
            var modelDoacoes = dbDoacoes.Query <Robops.Lib.TSE.Contas.ReceitasModel>("SELECT * FROM ReceitasModel WHERE length(DocumentoDoador) = 11 ", null)
                               .Where(o => o.Ano == 2020)
                               .OrderBy(o => o.NomeDoadorRFB)
                               .ToArray();

            Console.WriteLine("Selecionando pessoal");
            var gabinete = dbGabinete.GetAll <PessoalModel>()
                           .ToArray();
            var hashNomesGabinete = gabinete.Select(o => o.NomeFuncionario.ToUpper())
                                    .ToHashSet();

            var deputados = dbGabinete.GetAll <Robops.Lib.Camara.Leg.Deputado>()
                            .ToDictionary(d => d.Id);

            Console.WriteLine("Executando busca");
            foreach (var doador in modelDoacoes)
            {
                if (!hashNomesGabinete.Contains(doador.NomeDoadorRFB.ToUpper()))
                {
                    continue;
                }

                var gab = gabinete.First(g => g.NomeFuncionario.ToUpper() == doador.NomeDoadorRFB.ToUpper());
                // ele pode doar para si mesmo
                if (gab.NomeFuncionario.ToUpper() == doador.NomeCandidato.ToUpper())
                {
                    continue;
                }

                string fileName = "doadores.csv";
                var    deputado = deputados[gab.IdDeputado];

                if (deputado.NomeCivil.ToUpper() == doador.NomeCandidato.ToUpper())
                {
                    fileName = "doadores_pingPong.csv";
                }
                else
                {
                    fileName = "doadores_gramaVizinho.csv";
                }

                string text = $"{doador.NomeDoadorRFB.ToUpper()};{gab.NomeDeputado.ToUpper()};{deputado.PartidoLideranca};{doador.NomeCandidato.ToUpper()};{doador.NumeroCandidato};{gab.InicioExercicio:d} - {gab.FimExercicio:d}\r\n";
                Console.WriteLine(text);
                File.AppendAllText(fileName, text);
            }
        }
        public static void run()
        {
            SqliteDB db = new SqliteDB("myStuff.db");

            Console.WriteLine($"Database is at {db.DatabaseFileName}");

            // Create a DB Schema
            var result = db.CreateTables()
                         .Add <MyData>()
                         .Commit();

            if (result.Length > 0 && result[0].WasTableCreated)
            {
                Console.WriteLine("A new table was created!");
            }

            var d = new MyData()
            {
                MyId           = (int)DateTimeOffset.Now.ToUnixTimeSeconds(),
                MyName         = "My name is bob",
                MyBirthDate    = DateTime.Now,
                MyUID          = Guid.Empty, // When empty, a new Guid will be generated
                MyWebsite      = new Uri("http://example.com"),
                MyFavColor     = System.Drawing.Color.FromArgb(101, 102, 103, 104),
                MyDecimalValue = 123.4M,
                MyDoubleValue  = 456.7,
                MyFloatValue   = 789.3f,
                MyEnum         = MyData.eIntEnum.Zero,
            };

            Console.WriteLine($"New data to insert: Id={d.MyId} MyUID={d.MyUID}");
            db.Insert(d);

            // get all data
            var allData = db.GetAll <MyData>();

            Console.WriteLine("All data:");
            foreach (var rowData in allData)
            {
                Console.WriteLine($" > {rowData.MyId} {rowData.MyName} {rowData.MyUID}");
            }

            //get "bob" data
            var bobs = db.Query <MyData>("SELECT * FROM MyData WHERE MyName LIKE @name ", new { name = "%bob%" });

            Console.WriteLine("All bob data:");
            foreach (var rowData in bobs)
            {
                Console.WriteLine($" > {rowData.MyId} {rowData.MyName} {rowData.MyUID}");
            }

            // change frst bob
            var firstBob = bobs.First();

            firstBob.MyName = "Changed bob";
            db.InsertOrReplace(firstBob);
            // show all data again
            Console.WriteLine("All data:");
            foreach (var rowData in allData)
            {
                Console.WriteLine($" > {rowData.MyId} {rowData.MyName} {rowData.MyUID}");
            }
        }