Example #1
0
        /// <summary>
        /// Método que cria o relatório final
        /// </summary>
        /// <returns></returns>
        public bool Criar(ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.Criar", Global.TipoLog.DETALHADO);

            mensagemErro = "";
            try
            {
                //string responseFromServer = File.ReadAllText("C:\\Users\\Rodrigo\\Desktop\\entrada.json");
                string responseFromServer = this.requisicao;

                //if(!FazRequisicao(ref mensagemErro, ref responseFromServer))
                //{
                //    return false;
                //}

                Save(responseFromServer, ref mensagemErro);
            }
            catch (Exception e)
            {
                Util.CL_Files.WriteOnTheLog("Erro na requisição: " + e.Message, Util.Global.TipoLog.SIMPLES);

                mensagemErro = "Erro: " + e.Message;
                return(false);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// Método que salva o resultado da requisição do servidor
        /// </summary>
        /// <param name="colunas">Parêmetros do arquivo JSON</param>
        /// <param name="dados">Dados do JSON</param>
        /// <param name="mensagemErro">Variável para armazenar algum possível erro</param>
        /// <returns>True - sucesso; False - erro</returns>
        public bool SaveResultAsCsv(List <string> colunas, List <string> dados, ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.SaveResultAsCsv", Global.TipoLog.DETALHADO);

            mensagemErro = "";

            try
            {
                if (File.Exists(Global.app_out_file_csv))
                {
                    File.Delete(Global.app_out_file_csv);
                }

                string texto = "";
                bool   first = true;
                foreach (string coluna in colunas)
                {
                    if (first)
                    {
                        texto += coluna.Replace("\t", "").Replace("\n", "");
                    }
                    else
                    {
                        texto += ";" + coluna.Replace("\t", "").Replace("\n", "");
                    }
                    first = false;
                }

                texto += "\n";
                first  = true;
                int i = 0;
                foreach (string dado in dados)
                {
                    i++;
                    if (first)
                    {
                        texto += dado.Replace("\t", "").Replace("\n", "");
                    }
                    else
                    {
                        texto += ";" + dado.Replace("\t", "").Replace("\n", "");
                    }

                    if (i == colunas.Count)
                    {
                        texto += "\n";
                    }

                    first = false;
                }

                File.AppendAllText(Global.app_out_file_csv, texto);
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
Example #3
0
        /// <summary>
        /// Method that write on the log
        /// </summary>
        /// <param name="message"></param>
        public static void WriteOnTheLog(string message, Global.TipoLog tipoLog)
        {
            if (Global.log_system == Global.TipoLog.SIMPLES && tipoLog != Global.TipoLog.SIMPLES)
            {
                return;
            }

            string directory_ach = Global.app_logs_directoty;

            if (DateTime.Now.Day < 10)
            {
                directory_ach += "0" + DateTime.Now.Day;
            }
            else
            {
                directory_ach += DateTime.Now.Day;
            }

            if (DateTime.Now.Month < 10)
            {
                directory_ach += "0" + DateTime.Now.Month;
            }
            else
            {
                directory_ach += DateTime.Now.Month;
            }


            directory_ach += DateTime.Now.Year + ".log";

            CL_Files file = new CL_Files(directory_ach);

            file.WriteOnTheEnd(DateTime.Now.ToString() + "- " + message + "\n");
            file = null;
        }
Example #4
0
        /// <summary>
        /// Método que salva o resultado da requisição do servidor
        /// </summary>
        /// <param name="colunas">Parêmetros do arquivo JSON</param>
        /// <param name="dados">Dados do JSON</param>
        /// <param name="mensagemErro">Variável para armazenar algum possível erro</param>
        /// <returns>True - sucesso; False - erro</returns>
        public bool SaveResultOnBD(List <string> colunas, List <string> dados, ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.SaveResultOnBD", Global.TipoLog.DETALHADO);

            mensagemErro = "";
            ///Drop e cria a tabela
            MD_Retorno r = new MD_Retorno(true);

            r = null;
            try
            {
                string[] col = new string[colunas.Count];
                string[] inf = new string[dados.Count];
                col = colunas.ToArray();
                inf = dados.ToArray();
                string comando = "INSERT INTO RETORNO (";
                string values  = "VALUES (";

                Util.DataBase.Execute("DROP TABLE RETORNO");
                Util.DataBase.Execute("DROP TABLE INCREMENTAIS");

                for (int i = 0; i < colunas.Count; i++)
                {
                    MD_Retorno retorno = new MD_Retorno(col[i], false);
                    comando += (i == 0 ? "CODIGO, " + retorno.Path : ", " + retorno.Path);
                    values  += (i == 0 ? retorno.Inc() + ", '" + inf[0] + "'" : ",'" + inf[i].Replace("'", "") + "'");
                    retorno  = null;
                }
                comando += ")";
                values  += ")";
                Util.DataBase.Insert(comando + values);
                values = "VALUES (";

                for (int j = colunas.Count, i = 0; j < dados.Count; j++)
                {
                    MD_Retorno retorno = new MD_Retorno(col[i], false);
                    values += (i == 0 ? retorno.Inc() + ", '" + inf[j] + "'" : ",'" + inf[j].Replace("'", "") + "'");

                    i++;
                    if (i == colunas.Count)
                    {
                        values += ")";
                        Util.DataBase.Insert(comando + values);
                        values = "VALUES (";
                        i      = 0;
                    }
                }

                Util.DataBase.Execute("DROP TABLE INCREMENTAIS");
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
Example #5
0
 /// <summary>
 /// Construtor principal da classe
 /// </summary>
 /// <param name="requisicao">Comando de requisição a ser feita</param>
 public Document(string requisicao, Document.Saida out_files)
 {
     CL_Files.WriteOnTheLog("Document.Document", Global.TipoLog.DETALHADO);
     this.requisicao = requisicao;
     this.out_files  = out_files;
     Save_as_csv     = out_files.csv;
     Save_as_json    = out_files.json;
     Save_as_xml     = out_files.xml;
     Save_on_bd      = out_files.sqlite;
 }
Example #6
0
        /// <summary>
        /// Método que salva a resposta do servidor
        /// </summary>
        /// <param name="responseFromServer">Resposta JSON do servidor a ser salva</param>
        /// <returns></returns>
        private bool Save(string responseFromServer, ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.Save", Global.TipoLog.DETALHADO);

            mensagemErro = "";
            List <string> colunas = new List <string>();
            List <string> dados   = new List <string>();

            MontaDados(responseFromServer, ref colunas, ref dados);
            try
            {
                if (Save_as_csv)
                {
                    CL_Files.WriteOnTheLog("Arquivos de saída" + Global.app_out_file_csv, Global.TipoLog.SIMPLES);
                    if (!SaveResultAsCsv(colunas, dados, ref mensagemErro))
                    {
                        return(false);
                    }
                }
                if (Save_as_xml)
                {
                    CL_Files.WriteOnTheLog("Arquivos de saída" + Global.app_out_file_xml, Global.TipoLog.SIMPLES);
                    if (!SaveResultAsXML(colunas, dados, ref mensagemErro))
                    {
                        return(false);
                    }
                }
                if (Save_as_json)
                {
                    CL_Files.WriteOnTheLog("Arquivos de saída" + Global.app_out_file_json, Global.TipoLog.SIMPLES);
                    if (!SaveResultAsJSON(responseFromServer, ref mensagemErro))
                    {
                        return(false);
                    }
                }
                if (Save_on_bd)
                {
                    CL_Files.WriteOnTheLog("Arquivos de saída" + Global.app_base_file, Global.TipoLog.SIMPLES);
                    if (!SaveResultOnBD(colunas, dados, ref mensagemErro))
                    {
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
Example #7
0
        /// <summary>
        /// Método que salva o resultado da requisição do servidor
        /// </summary>
        /// <param name="colunas">Parêmetros do arquivo JSON</param>
        /// <param name="dados">Dados do JSON</param>
        /// <param name="mensagemErro">Variável para armazenar algum possível erro</param>
        /// <returns>True - sucesso; False - erro</returns>
        public bool SaveResultAsXML(List <string> colunas, List <string> dados, ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.SaveResultAsXML", Global.TipoLog.DETALHADO);
            mensagemErro = "";
            string[] col = new string[colunas.Count];
            string[] inf = new string[dados.Count];
            col = colunas.ToArray();
            inf = dados.ToArray();

            try
            {
                if (File.Exists(Global.app_out_file_xml))
                {
                    File.Delete(Global.app_out_file_xml);
                }

                string texto = "<?xml version=\"1.0\" encoding=\"UTF - 8\"?>\n";
                texto += "<json>\n";

                for (int i = 0, j = 0; i < dados.Count; i++)
                {
                    if (j == 0)
                    {
                        texto += "\t<tweet>\n";
                    }

                    texto += "\t\t<" + col[j].Replace("\t", "").Replace("\n", "") + ">" +
                             inf[i].Replace("\t", "").Replace("\n", "") +
                             "</" + col[j].Replace("\t", "").Replace("\n", "") + ">\n";
                    j++;
                    if (j == colunas.Count)
                    {
                        texto += "\t</tweet>\n";
                        j      = 0;
                    }
                }

                texto += "</json>";

                File.AppendAllText(Global.app_out_file_xml, texto);
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
Example #8
0
        /// <summary>
        /// Método que salva o resultado da requisição do servidor
        /// </summary>
        /// <param name="response">Resposta JSON do servidor</param>
        /// <param name="mensagemErro">Variável para armazenar algum possível erro</param>
        /// <returns>True - sucesso; False - erro</returns>
        public bool SaveResultAsJSON(string response, ref string mensagemErro)
        {
            CL_Files.WriteOnTheLog("Document.SaveResultAsJSON", Global.TipoLog.DETALHADO);

            mensagemErro = "";

            try
            {
                if (File.Exists(Global.app_out_file_json))
                {
                    File.Delete(Global.app_out_file_json);
                }
                File.AppendAllText(Global.app_out_file_json, response);
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
Example #9
0
        /// <summary>
        /// Método que monta os dados de colunas e informações da resposta do servidor
        /// </summary>
        /// <param name="responseFromServer">Resposta json do servidor</param>
        /// <param name="colunas">Colunas referentes aos parâmetros do json</param>
        /// <param name="dados">Dados referente ao JSON</param>
        public void MontaDados(string responseFromServer, ref List <string> colunas, ref List <string> dados)
        {
            CL_Files.WriteOnTheLog("Document.MontaDados", Global.TipoLog.DETALHADO);

            colunas = new List <string>();

            List <JObject> response = JsonConvert.DeserializeObject <List <JObject> >(responseFromServer);

            foreach (dynamic en in response)
            {
                foreach (JToken o in en.PropertyValues())
                {
                    if (!colunas.Contains(o.Path.ToString().Replace(":", "").Replace(";", "").Replace(".", "").Replace(",", "")))
                    {
                        colunas.Add(o.Path.ToString().Replace(":", "").Replace(";", "").Replace(".", "").Replace(",", ""));
                    }
                    dados.Add(o.ToString());
                }
                response = null;
            }
        }
Example #10
0
        /// <summary>
        /// Método que faz a requisição e retorno uma string com o Json
        /// </summary>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        private bool FazRequisicao(ref string mensagemErro, ref string retorno)
        {
            CL_Files.WriteOnTheLog("Document.FazRequisicao", Global.TipoLog.DETALHADO);

            mensagemErro = retorno = "";

            try
            {
                // Create a request for the URL.
                WebRequest request = WebRequest.Create(requisicao);
                // If required by the server, set the credentials.
                request.Credentials = CredentialCache.DefaultCredentials;
                // Get the response.
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                // Get the stream containing content returned by the server.
                Stream dataStream = response.GetResponseStream();
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader(dataStream);
                // Read the content.
                retorno = reader.ReadToEnd();

                // Cleanup the streams and the response.
                reader.Close();
                dataStream.Close();
                response.Close();
            }
            catch (Exception e)
            {
                Util.CL_Files.WriteOnTheLog("Erro na requisição: " + e.Message, Util.Global.TipoLog.SIMPLES);

                mensagemErro = "Erro: " + e.Message;
                return(false);
            }

            return(true);
        }