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(); }
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}"); } }