Salvar dados do C# no SQL

Olá, fiz o consumo de uma Web API Key via c# e estou atualmente trazendo os dados no console, mas gostaria de saber se é possível que eu os chame e faça uma importação para o banco de dados e como eu faria isso…

namespace Consumindo_WebAPI_Chamados
{
class Program
{

    static void Main(string[] args)
    {
        RunAsync().Wait();
        Console.ReadKey();
    }
    static async Task RunAsync()
    {



        {

            //POST


            var client = new RestClient("https://desk.ms/integracao/API/lchamados/");
            var request = new RestRequest(Method.POST);
            request.AddHeader("Postman-Token", "4f6941e9-08b7-e0aa-c8ad-d3d1a2eb3db3");
            request.AddHeader("Cache-Control", "no-cache");
            request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
            request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"chave\"\r\n\r\nab85203567fe6a70a914892cec5f934060aadf1e\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_chamado\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_datacri\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_assunto\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_descr\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_solicitacao\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_tocorrencia\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_cliente\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_status\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"onde_datacri\"\r\n\r\n2018-01-01,2018-02-28\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ver_categoria\"\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            var content = response.Content; // raw content as string
            Console.WriteLine(response.Content);


            while (Console.ReadKey().Key != ConsoleKey.Enter) { }


        }
    }
}

}

Estuda sobre ADO.NET e o provider MySql Connector. Quando tiver uma dúvida pontual pode postar.

Você precisa deserializar esse JSON para uma classe em C#, a partir dai basta inserir o objeto no banco do jeito que preferir.

recomendo o uso do http://restsharp.org que já tem tudo isso feito e funcionando, bastando indicar qual tipo de Objeto o JSON irá retornar(ou sejá, você precisa fazer um model com todos os campos que esse JSON retorna, o Rest# irá associar os dados no objeto indicado, e a partir dai você tem um objeto C# com os dados da API e basta inserir no banco.)

1 curtida

Oi Douglas, valeu cara, mas so pra mim entender melhor…
estou solicitando os dados de uma api key certo ?estou chamando nesta linha, e os que estão em negrito são os campos que eu estou solicitando, você acha entao que seria melhor eu solicitar separadamente e associar cada um a uma variavel e depois exporta-la para uma tabela no sql ???

request.AddParameter(“multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW”, “------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“chave”\r\n\r\nab85203567fe6a70a914892cec5f934060aadf1e\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_chamado”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_datacri”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_assunto”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_descr”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_solicitacao”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_tocorrencia”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_cliente”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_status”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“onde_datacri”\r\n\r\n2018-01-01,2018-02-28\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=“ver_categoria”\r\n\r\nS\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW–”, ParameterType.RequestBody);

como você pretende salvar no banco ? tudo em uma tabela só ?, algum dado vai ser salvo em uma tabela diferente ? no seu exemplo parecem ser dados de apenas uma tabela então você pode receber tudo junto… de qualquer forma você precisa de um objeto com as variaveis igual ao que vem na response da API(se algum conjunto de dados for em uma tabela diferente você pode tratar isso depois com o Objeto… ou tentar pegar essa informação de forma separada que seria mais ideal)

1 curtida

Entao, na verdade todas aqueles itens depois de “name=” eu gostaria de salvar em uma tabela no sql, toda vez que consultasse a api, os dados fossem inseridos na tabela, e que haja um formulario que buscasse esses dados no Sql e os lista em um formulario no C#, o melhor jeito seria um projeto mvc mesmo né ?