コード例 #1
0
        private static string Obter_Banco(HttpListenerRequest request, ArtLib MeuLib, string cDados, SqlConnection sqlConn)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            dynamic oLogin = serializer.Deserialize <dynamic>(cDados);
            string  cJSon  = "";
            string  cChave = "";
            string  cValor = "";

            LogFile.Log(" --- Obter_Banco:");

            SqlCommand    cmd = new SqlCommand("SELECT * FROM tech_banco", sqlConn);
            SqlDataReader dr  = cmd.ExecuteReader();

            //percorre o SqlDataReader para obter os dados
            while (dr.Read())
            {
                cJSon = Resources.ResourceManager.GetObject("json_banco").ToString();

                for (int i = 0; i < dr.FieldCount; i++)
                {
                    cChave = string.Format("|{0}|", dr.GetName(i));

                    cValor = dr[i].ToString();

                    Type t = dr[i].GetType();

                    if (t.Equals(typeof(decimal)))
                    {
                        cValor = cValor.Replace(".", "").Replace(",", ".");
                    }

                    cJSon = cJSon.Replace(cChave, cValor);
                }

                break;  //Somente o primeiro banco
            }


            LogFile.Log(".");
            LogFile.Log("cJson:");
            LogFile.Log(cJSon);
            LogFile.Log(".");


            LogFile.Log(" --- Fim Obter_Banco!");

            return(cJSon);
        }
コード例 #2
0
        public static string Pagina(HttpListenerRequest request, string cDataBaseCFG, string cDataBase)
        {
            ArtLib MeuLib = new ArtLib();
            string cHtml  = "ERRO: Html nao atribuido";
            string cDados = "";

            char[]   charSeparators = new char[] { '/' };
            string[] MeuPath        = request.Url.LocalPath.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
            string   cMeuPath       = MeuPath[MeuPath.Length - 1];


            string connectionString = "server=.\\SQLEXPRESS; Database=TESTE;Integrated Security=SSPI;";
            // "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\dados\\NORTHWND.MDF;Integrated Security=True; Connect Timeout=30;User Instance=True";
            SqlConnection sqlConn = new SqlConnection(connectionString);

            sqlConn.Open();

            if (!cMeuPath.Contains(".css") && !cMeuPath.Contains(".js"))
            {
                LogFile.Log(string.Format(" --- Distribuidor - {0} - {1}", DateTime.Now.ToString("dd-MM-yyyy h:mm:ss tt"), cMeuPath));
            }


            do
            {
                if (request.HttpMethod == "POST")
                {
                    //Conversao para Encoding.UTF8 resolveu o problema de retornar em 2 chars o (Ã) - \u00C3\u0081 = encodeURI(chr) = %C3%81
                    using (var reader = new StreamReader(request.InputStream, Encoding.UTF8))
                    {
                        cDados = reader.ReadToEnd();

                        if ((cDados.IndexOf("dados=") >= 0) && (cDados.IndexOf("dados=") <= 1))
                        {
                            cDados = HttpUtility.UrlDecode(cDados);
                        }

                        //if (cDados.IndexOf("\u00C3") >= 0)
                        //{
                        //    cDados = HttpUtility.HtmlDecode(cDados);
                        //}
                    }

                    /*
                     * int nTam = 1024;
                     * byte[] formData = new byte[nTam];
                     * request.InputStream.Read(formData, 0, nTam);
                     * cDados = Encoding.ASCII.GetString(formData);
                     * if  ((cDados.IndexOf("dados=") >= 0) && (cDados.IndexOf("dados=") <= 1))
                     * {
                     *  cDados = HttpUtility.UrlDecode(cDados.Replace("\0", ""));
                     * }
                     * else
                     * {
                     *  cDados =cDados.Replace("\0", "");
                     * }
                     */
                }

                /*
                 * if (request.Url.LocalPath.Contains("/login"))
                 * {
                 *  cHtml = Resources.ResourceManager.GetObject("Login").ToString();
                 * }
                 * else
                 */

                if ((cMeuPath == "obter_dados") && (request.HttpMethod == "GET"))
                {
                    cHtml = Obter_Dados(request, MeuLib, cDados, sqlConn);
                }
                else if ((cMeuPath == "retorna_status") && !(String.IsNullOrEmpty(cDados)) && (request.HttpMethod == "POST"))
                {
                    cHtml = Retorna_Status(request, MeuLib, cDados, sqlConn);
                }
                else if ((cMeuPath == "obter_banco") && (request.HttpMethod == "GET"))
                {
                    cHtml = Obter_Banco(request, MeuLib, cDados, sqlConn);
                }
                else
                {
                    cHtml = string.Format("ERRO: Solicitacao nao atendida! {0}", DateTime.Now);
                }
            } while (false);

            sqlConn.Close();

            return(cHtml);
        }
コード例 #3
0
        private static string Retorna_Status(HttpListenerRequest request, ArtLib MeuLib, string cDados, SqlConnection sqlConn)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string  cQueryString            = HttpUtility.UrlDecode(request.Url.Query);
            dynamic oLogin      = serializer.Deserialize <dynamic>(cDados);
            dynamic aRetorno    = oLogin["retorno"];
            string  cJSon       = "{ \"processado\" : [{0}] }";
            string  cRetorno    = "";
            string  cStatus     = "";
            string  cMensagem   = "";
            string  cProcessou  = "";
            string  cIdProcesso = "";
            bool    lSemErro    = true;

            LogFile.Log(" --- retorna_status:");

            if (!String.IsNullOrEmpty(cQueryString))
            {
                int nP = (cQueryString.Contains("dados=") ? 7 : 1);
                oLogin = serializer.Deserialize <dynamic>(cQueryString.Substring(nP));
            }

            for (int h = 0; h < aRetorno.Length; h++)
            {
                lSemErro = true;

                for (int i = 0; i < aRetorno[h]["parcelas"].Length; i++)
                {
                    if (aRetorno[h]["parcelas"][i]["proc_ok"] == "S")
                    {
                        cStatus   = "2";
                        cMensagem = "";
                    }
                    else
                    {
                        cStatus   = "9";
                        cMensagem = aRetorno[h]["parcelas"][i]["mensagem"];
                        lSemErro  = false;
                    }

                    cIdProcesso = aRetorno[h]["parcelas"][i]["id_processo"];

                    LogFile.Log(string.Format(" --- Retorno id: {0} - parcela: {1} - status: {2} - erro_mensag: {3}", cIdProcesso, aRetorno[h]["parcelas"][i]["parcela"], cStatus, cMensagem));

                    cProcessou = "erro";

                    if (lSemErro)
                    {
                        SqlCommand sqlComm = new SqlCommand(string.Format("UPDATE tech_titulos SET status='{0}', erro_mensag='{1}' WHERE id={2}", cStatus, cMensagem, cIdProcesso), sqlConn);
                        cProcessou = (sqlComm.ExecuteNonQuery() > 0 ? "ok" : "erro");
                    }

                    cRetorno = (h > 0 ? "," : "") + "{ " + string.Format("\"id_processo\":\"{0}\", \"processado\":\"{1}\" ", cIdProcesso, cProcessou) + "}{0}";

                    cJSon = cJSon.Replace("{0}", cRetorno);
                }
            }//for(h)

            cJSon = cJSon.Replace("{0}", "");

            LogFile.Log(".");
            LogFile.Log("cJson:");
            LogFile.Log(cJSon);
            LogFile.Log(".");

            LogFile.Log(" --- Fim retorna_status!");

            return(cJSon);
        }
コード例 #4
0
        private static string Obter_Dados(HttpListenerRequest request, ArtLib MeuLib, string cDados, SqlConnection sqlConn)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            dynamic oLogin = serializer.Deserialize <dynamic>(cDados);
            string  cXJSon = "";
            string  cJSon  = "";
            string  cChave = "";
            string  cValor = "";

            LogFile.Log(" --- Obter_Dados:");

            SqlCommand    cmd = new SqlCommand("SELECT * FROM tech_titulos WHERE status = '1'", sqlConn);
            SqlDataReader dr  = cmd.ExecuteReader();

            cJSon = "{\"titulos\" : [";


            //percorre o SqlDataReader para obter os dados
            while (dr.Read())
            {
                if (cXJSon.Trim() != "")
                {
                    cJSon += ",";
                }

                cXJSon = "";

                if (!("antecipacao|coobrigacao|cancelamento|conciliacao|prorrogacao|bonificacao|devolucao".Contains(dr["operacao"].ToString())))
                {
                    LogFile.Log(string.Format(" --- Distribuidor -- Obter_Dados - Operacao invalida! Operacao {0} ", dr["operacao"].ToString()));
                    continue;
                }

                cXJSon = Resources.ResourceManager.GetObject("json_" + dr["operacao"].ToString()).ToString();

                for (int i = 0; i < dr.FieldCount; i++)
                {
                    cChave = string.Format("|{0}|", dr.GetName(i));

                    cValor = dr[i].ToString();

                    Type t = dr[i].GetType();

                    if (t.Equals(typeof(decimal)))
                    {
                        cValor = cValor.Replace(".", "").Replace(",", ".");
                    }

                    cXJSon = cXJSon.Replace(cChave, cValor);
                }

                cJSon += cXJSon;
            }

            cJSon += "]}";


            //cJSon = Resources.ResourceManager.GetObject("json_geral").ToString();

            LogFile.Log(".");
            LogFile.Log("cJson:");
            LogFile.Log(cJSon);
            LogFile.Log(".");


            LogFile.Log(" --- Fim Obter_Dados!");

            return(cJSon);
        }