From 97b8b1c3a64b1f7117178812296dbbeb5a630f28 Mon Sep 17 00:00:00 2001 From: giuliano Date: Fri, 10 Nov 2023 18:20:35 -0300 Subject: [PATCH] =?UTF-8?q?20231110=20-=20Corre=C3=A7=C3=A3o=20de=20erros?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 49 ++++++++++++------------------------------------- data.cs | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 37 deletions(-) create mode 100644 data.cs diff --git a/Program.cs b/Program.cs index 35a2c09..0b16b19 100644 --- a/Program.cs +++ b/Program.cs @@ -8,7 +8,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Reflection.Metadata; - +using Pipefy; class Program { static async Task Main(string[] args) @@ -18,9 +18,9 @@ class Program string PipefyToken = "eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJQaXBlZnkiLCJpYXQiOjE2OTg4NTYyMjcsImp0aSI6IjM2N2Y4M2NhLWZjODYtNGRhOC04ODEyLTkzODRkZGZkODc0MiIsInN1YiI6MzAyNTM0MzY2LCJ1c2VyIjp7ImlkIjozMDI1MzQzNjYsImVtYWlsIjoiYmFjazVAZW5lcmdpYXNtYXJ0LmNvbS5iciIsImFwcGxpY2F0aW9uIjozMDAyODkyNDgsInNjb3BlcyI6W119LCJpbnRlcmZhY2VfdXVpZCI6bnVsbH0.o13j9c_y3G3HX35qhX4PmkkibGsmlHsk5dL_Bxsr1CKV5Jlgj218kJdEmriS7aHiw0-P7sfs-bu4YcElfuyiqg"; string ConnSourcePath = @"C:\Users\contratos\Documents\Giuliano\Pipefy.accdb"; string PipefyTokenTableID = "b9t-7uD5"; - + string? cursor = "null"; - + string query = $"{{\"query\":\"query GetRecords($cursor: String){{ table_records(table_id: \\\"{PipefyTokenTableID}\\\",first:50,after:$cursor){{ pageInfo{{ hasNextPage endCursor }} edges{{ node{{ record_fields{{ field {{ id }} value array_value }} }} }} }}}}\",\"variables\":{{\"cursor\":{cursor}}}}}"; Console.WriteLine(query); bool hasNextPage = true; @@ -65,15 +65,15 @@ class Program } if (hasSucceeded) { - string strJson = Newtonsoft.Json.JsonSerializer(allRecords); + string strJson = JsonConvert.SerializeObject(allRecords); // Desserialize o JSON em objetos C# - var jsonData = JsonConvert.DeserializeObject(allRecords.ToO); + var jsonData = JsonConvert.DeserializeObject(strJson); // Consulte os dados da tabela no banco de dados Access List databaseData = GetDataFromDatabase(ConnSourcePath); // Compare os dados e encontre os registros ausentes no JSON - List recordsMissingInJson = CompareData(databaseData, jsonData?.data?.table_records?.edges); + List recordsMissingInJson = CompareData(databaseData, jsonData); // Faça algo com os registros ausentes foreach (var record in recordsMissingInJson) @@ -118,7 +118,7 @@ class Program return data; } - static List CompareData(List databaseData, List jsonData) + static List CompareData(List databaseData, Pipefy.RootObject jsonData) { if (jsonData == null) { @@ -129,43 +129,18 @@ class Program foreach (var record in databaseData) { - if (!jsonData.Any(item => item.node.c_odigo_smart == record.c_odigo_smart)) - { - recordsMissingInJson.Add(record); - } + //if (jsonData.node.Any(item => item.recordFields[0].value.ToString() == record.c_odigo_smart.ToString())) + //{ + // continue; + //} + recordsMissingInJson.Add(record); } return recordsMissingInJson; } } -class Root -{ - public Data data { get; set; } -} -class Data -{ - public TableRecords table_records { get; set; } -} - -class TableRecords -{ - public List edges { get; set; } -} - -class Edge -{ - public Node node { get; set; } -} - -class Node -{ - public int c_odigo_smart { get; set; } - public string nome_da_empresa { get; set; } - public string modalidade { get; set; } - public string gestores { get; set; } -} class ClasseEmpresas { diff --git a/data.cs b/data.cs new file mode 100644 index 0000000..f7c74aa --- /dev/null +++ b/data.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Pipefy +{ + public class RootObject + { + public data[] Property1 { get; set; } + } + + public class data + { + public Node node { get; set; } + } + + public class Node + { + public Record_Fields[] record_fields { get; set; } + } + + public class Record_Fields + { + public Field field { get; set; } + public string value { get; set; } + public string[] array_value { get; set; } + } + + public class Field + { + public string id { get; set; } + } +}