コード例 #1
0
ファイル: Program.cs プロジェクト: Mosheh/SIPEFUploader
        private async static void UploadFile(DadosEnvio dadosEnvio)
        {
            try
            {
                var prestacao = ObterPrestacao(dadosEnvio);
                var client    = new RestClient(dadosEnvio.Url);
                var request   = new RestRequest(Method.POST);
                request.AddJsonBody(prestacao);

                var response = client.Post(request);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    Extentions.WriteMessage("Arquivo enviado com sucesso!");
                }
                else
                {
                    Extentions.WriteError(response.Content);
                    Main(null);
                }
            }
            catch (Exception ex)
            {
                Extentions.WriteError(ex);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: Mosheh/SIPEFUploader
 static void Main(string[] args)
 {
     try
     {
         if (args != null && args.Length > 0)
         {
             UploadFile(Translate(args));
         }
         else
         {
             //var dados = InstruirOperador();
             var dados = new DadosEnvio()
             {
                 Url                 = "https://sipef-minas-gerais.azurewebsites.net/api/prestacaocontas/upload",
                 cnpj                = "1234",
                 FilePath            = @"c:\intel\prestacao.txt",
                 senhaDescompactacao = "1234"
             };
             if (!dados.EhValido())
             {
                 Console.Clear();
                 Extentions.WriteError("Arquivo inexistente no caminho especificado ou Url do servidor não foi fornecida");
                 UploadFile(InstruirOperador());
             }
             else
             {
                 UploadFile(dados);
             }
         }
     }
     catch (Exception ex)
     {
         Extentions.WriteError(ex);
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: Mosheh/SIPEFUploader
        private static object ObterPrestacao(DadosEnvio dadosEnvio)
        {
            var arquivoDeEnvio = ObterArquivoDeEnvio(dadosEnvio);

            return(new Prestacao {
                cnpj = dadosEnvio.cnpj,
                file = arquivoDeEnvio
            });
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: Mosheh/SIPEFUploader
        private static byte[] ObterArquivoDeEnvio(DadosEnvio dados)
        {
            var temp = Path.GetTempFileName();

            using (ZipFile zip = new ZipFile())
            {
                zip.AddFile(dados.FilePath, "DECLARAÇÃO");
                zip.Password = dados.senhaDescompactacao;
                zip.Save(temp);
            }

            return(File.ReadAllBytes(temp));
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: Mosheh/SIPEFUploader
        private static DadosEnvio InstruirOperador()
        {
            var dados = new DadosEnvio();

            Console.WriteLine("Nenhum comando foi fornecido para envio direto!");
            Console.WriteLine("Digite o caminho http do endpoint de prestação. Ex: http://servidor:80/api/prestacaocontas/upload");
            dados.Url = Console.ReadLine();

            Console.WriteLine(@"Digite o caminho local do seu arquivo. Ex: c:\prestacaoes\dados.txt");
            dados.FilePath = Console.ReadLine();

            Console.WriteLine(@"Digite a senha de compactação do arquivo. Ex: sipef@1010");
            dados.senhaDescompactacao = Console.ReadLine();

            Console.WriteLine(@"Digite o cnpj da organização (empresa) sem máscara");
            dados.cnpj = Console.ReadLine();

            return(dados);
        }