Exemple #1
0
        public void cancelarVenda(string codAtivacao, string dadosVenda)
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mContext);
            builder.SetTitle("Atenção");
            builder.SetMessage("Digite a chave de cancelamento");

            EditText inputChaveCancelamento = new EditText(MainActivity.mContext);

            inputChaveCancelamento.Text = GlobalValues.ultimaChaveVenda;
            builder.SetView(inputChaveCancelamento);
            builder.SetNeutralButton("OK", OkAction);

            void OkAction(object sender, DialogClickEventArgs e)
            {
                ultimaChaveVenda = inputChaveCancelamento.Text;
                var codigoAtivacao = codAtivacao.ToString();

                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(MainActivity.mContext, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                if (string.IsNullOrEmpty(ultimaChaveVenda))
                {
                    SatUtils.MostrarToast(MainActivity.mContext, "Digite uma chave de cancelamento!");
                    return;
                }

                repostaSat("CancelarUltimaVenda", codigoAtivacao, dadosVenda);
            }

            alerta = builder.Create();
            alerta.Show();
        }
Exemple #2
0
        public void secaoSat(string codAtivacao)
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mContext);
            builder.SetTitle("Atenção");
            builder.SetMessage("Digite o número da sessão");
            EditText inputCodigoSessao = new EditText(MainActivity.mContext);

            inputCodigoSessao.SetRawInputType(InputTypes.ClassNumber);
            builder.SetView(inputCodigoSessao);
            builder.SetNeutralButton("OK", OkAction);
            inputCodigoSessao.Text = GlobalValues.ultimaSessao;

            void OkAction(object sender, DialogClickEventArgs e)
            {
                codigoSessao = inputCodigoSessao.Text.Trim();
                var codigoAtivacao = codAtivacao.ToString();

                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(MainActivity.mContext, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                if (string.IsNullOrEmpty(codigoSessao))
                {
                    SatUtils.MostrarToast(MainActivity.mContext, "Digite um número de sessão!");
                    return;
                }

                repostaSat("ConsultarNumeroSessao", codigoAtivacao);
            }

            alerta = builder.Create();
            alerta.Show();
        }
Exemple #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.alterar);
            satFunctions = new SatFunctions(this);

            spinner = FindViewById <Spinner>(Resource.Id.spinner1);
            adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleExpandableListItem1, optCod);
            adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            spinner.Adapter = (adapter);

            txtCodAtual     = FindViewById <EditText>(Resource.Id.txtCodAtual);
            txtCodConfirmar = FindViewById <EditText>(Resource.Id.txtCodConfirmar);
            txtCodNovo      = FindViewById <EditText>(Resource.Id.txtCodNovo);



            txtCodAtual.Text = GlobalValues.codigoAtivacao;

            btnAlterar = FindViewById <Button>(Resource.Id.btnAlterar);



            btnAlterar.Click += delegate
            {
                try
                {
                    var codigoAtivacaoAtual           = txtCodAtual.Text;
                    var codigoAtivacaoNovo            = txtCodNovo.Text;
                    var codigoAtivacaoNovoConfirmacao = txtCodConfirmar.Text;

                    if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacaoAtual) || !SatUtils.VerificaCodigoAtivacao(codigoAtivacaoNovo) || !SatUtils.VerificaCodigoAtivacao(codigoAtivacaoNovoConfirmacao))
                    {
                        SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                        return;
                    }

                    if (codigoAtivacaoNovo != txtCodConfirmar.Text)
                    {
                        SatUtils.MostrarToast(this, "O Novo Código de Ativação e a Confirmação do Novo Código de Ativação não correspondem!");
                        return;
                    }

                    opcao = spinner.SelectedItem.Equals("Código de ativação") ? 1 : 2;

                    GlobalValues.codigoAtivacao = codigoAtivacaoNovo;
                    string     retorno    = satFunctions.TrocarCodAtivacao(codigoAtivacaoAtual, opcao, codigoAtivacaoNovo, SatUtils.GerarNumeroSessao);
                    RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("TrocarCodAtivacao", retorno);

                    string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);
                    SatUtils.DialogoRetorno(this, retornoFormatado);
                }
                catch (Exception e)
                {
                    SatUtils.MostrarToast(this, e.Message);
                }
            };
        }
Exemple #4
0
        public void repostaSat(string operacao, string txtCodAtivacao, string dadosVenda = "")
        {
            string retornoOperacao = "";

            switch (operacao)
            {
            case "ConsultarSat":
                retornoOperacao = MainActivity.satFunctions.ConsultarSat(SatUtils.GerarNumeroSessao);
                break;

            case "ConsultarStatusOperacional":
                retornoOperacao = MainActivity.satFunctions.ConsultarStatusOperacional(SatUtils.GerarNumeroSessao, txtCodAtivacao);
                break;

            case "EnviarTesteFim":
                retornoOperacao = MainActivity.satFunctions.EnviarTesteFim(txtCodAtivacao, dadosVenda, SatUtils.GerarNumeroSessao);
                break;

            case "EnviarTesteVendas":
                retornoOperacao = MainActivity.satFunctions.EnviarTesteVendas(txtCodAtivacao, dadosVenda, SatUtils.GerarNumeroSessao);
                break;

            case "CancelarUltimaVenda":
                retornoOperacao = MainActivity.satFunctions.CancelarUltimaVenda(txtCodAtivacao, ultimaChaveVenda, dadosVenda, SatUtils.GerarNumeroSessao);
                break;

            case "ConsultarNumeroSessao":
                retornoOperacao = MainActivity.satFunctions.ConsultarNumeroSessao(txtCodAtivacao, Integer.ParseInt(codigoSessao), SatUtils.GerarNumeroSessao);
                break;

            default:
                retornoOperacao = "";
                break;
            }


            RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat(operacao, retornoOperacao);

            /*
             * Está verificação(abaixo) tem como objetivo capturar a "Chave de Consulta" retornado na operação EnviarTesteVendas
             * O valor é armazenado em uma variavel global e quando o usuario abre a tela para cancelar venda, o campo (Chave de Cancelamento) já fica preenchido
             */
            if (operacao == "EnviarTesteVendas")
            {
                //chave ultima venda
                GlobalValues.ultimaChaveVenda = retornoSat.ChaveConsulta;
            }

            //GlobalValues.codigoAtivacao = txtCodAtivacao;
            //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
            //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
            // Recomenda-se acessar a função e entender como ela funciona
            string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

            SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
        }
Exemple #5
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.assinatura);
            satLib = new SatFunctions(this);

            btnAssociar = FindViewById <Button>(Resource.Id.btnAssociar);

            txtCodAtivacao      = FindViewById <EditText>(Resource.Id.txtCodAtivacao);
            txtAssinatura       = FindViewById <EditText>(Resource.Id.txtAssinatura);
            txtCnpjContribuinte = FindViewById <EditText>(Resource.Id.txtCNPJ);
            txtCnpjContribuinte.AddTextChangedListener(new Mask(txtCnpjContribuinte, "##.###.###/####-##"));
            txtCnpjSH = FindViewById <EditText>(Resource.Id.txtSW);
            txtCnpjSH.AddTextChangedListener(new Mask(txtCnpjSH, "##.###.###/####-##"));
            txtCodAtivacao.Text = GlobalValues.codigoAtivacao;

            txtCnpjContribuinte.Text = "03.654.119/0001-76";
            txtCnpjSH.Text           = "16.716.114/0001-72";
            txtAssinatura.Text       = "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT";

            btnAssociar.Click += delegate
            {
                var codigoAtivacao = txtCodAtivacao.Text;
                var assinatura     = txtAssinatura.Text;

                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                if (string.IsNullOrEmpty(assinatura))
                {
                    SatUtils.MostrarToast(this, "Assinatura AC Inválida!");
                    return;
                }

                string resp = satLib.AssociarSat(
                    SatUtils.SomenteNumeros(txtCnpjContribuinte.Text),
                    SatUtils.SomenteNumeros(txtCnpjSH.Text),
                    codigoAtivacao,
                    assinatura,
                    SatUtils.GerarNumeroSessao);

                RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("AssociarSAT", resp);

                //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
                //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
                // Recomenda-se acessar a função e entender como ela funciona
                string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);


                SatUtils.DialogoRetorno(this, retornoFormatado);
                GlobalValues.codigoAtivacao = codigoAtivacao;
            };
        }
 public void logSat(string codAtivacao, int numeroSersao)
 {
     try
     {
         RespostaSat("ExtrairLog", codAtivacao, numeroSersao);
     }
     catch (Exception e)
     {
         SatUtils.MostrarToast(MainActivity.mContext, e.Message);
     }
 }
Exemple #7
0
        public void enviarVenda(string codAtivacao, string dadosVenda)
        {
            var codigoAtivacao = codAtivacao.ToString();

            if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
            {
                SatUtils.MostrarToast(MainActivity.mContext, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                return;
            }

            repostaSat("EnviarTesteVendas", codigoAtivacao, dadosVenda);
        }
Exemple #8
0
        public void statusSat(string codAtivacao)
        {
            var codigoAtivacao = codAtivacao.ToString();

            if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
            {
                SatUtils.MostrarToast(MainActivity.mContext, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                return;
            }

            repostaSat("ConsultarStatusOperacional", codigoAtivacao);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.ativacao);

            satLib = new SatFunctions(this);

            txtCNPJContribuinte      = FindViewById <EditText>(Resource.Id.txtCNPJ);
            txtCNPJContribuinte.Text = "03.654.119/0001-76";
            txtCNPJContribuinte.AddTextChangedListener(new Mask(txtCNPJContribuinte, "##.###.###/####-##"));
            txtCodAtivacao      = FindViewById <EditText>(Resource.Id.txtCodAtivacao);
            txtconfCodAtivacao  = FindViewById <EditText>(Resource.Id.txtConfCodAtivacao);
            btnAtivarSat        = FindViewById <Button>(Resource.Id.buttonAtivar);
            txtCodAtivacao.Text = GlobalValues.codigoAtivacao;

            btnAtivarSat.Click += delegate
            {
                var codigoAtivacao            = txtCodAtivacao.Text;
                var codigoAtivacaoConfirmacao = txtconfCodAtivacao.Text;

                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                if (codigoAtivacao != codigoAtivacaoConfirmacao)
                {
                    SatUtils.MostrarToast(this, "O Código de Ativação e a Confirmação do Código de Ativação não correspondem!");
                    return;
                }

                GlobalValues.codigoAtivacao = codigoAtivacao;
                string resp = satLib.AtivarSat(txtCodAtivacao.Text.ToString(),
                                               SatUtils.SomenteNumeros(txtCNPJContribuinte.Text),
                                               SatUtils.GerarNumeroSessao);

                RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("AtivarSAT", resp);

                //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
                //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
                // Recomenda-se acessar a função e entender como ela funciona
                string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);



                SatUtils.DialogoRetorno(this, retornoFormatado);
            };
        }
Exemple #10
0
        public void ativacaoSat(string txtCodAtivacao, string txtCNPJContribuinte, string txtCodConfirmacao, int numSessao)
        {
            string resp = MainActivity.satFunctions.AtivarSat(txtCodAtivacao.ToString(),
                                                              txtCNPJContribuinte.ToString(),
                                                              numSessao);

            RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("AtivarSAT", resp);

            //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
            //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
            // Recomenda-se acessar a função e entender como ela funciona
            string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

            SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
        }
        public void RespostaSat(string operacao, string codAtivacao, int numSessao)
        {
            string retornoOperacao = "";

            switch (operacao)
            {
            case "BloquearSat":
                retornoOperacao = MainActivity.satFunctions.BloquearSat(codAtivacao, numSessao);
                break;

            case "DesbloquearSat":
                retornoOperacao = MainActivity.satFunctions.DesbloquearSat(codAtivacao, numSessao);
                break;

            case "ExtrairLog":
                retornoOperacao = MainActivity.satFunctions.ExtrairLog(codAtivacao, numSessao);
                break;

            case "AtualizarSoftware":
                retornoOperacao = MainActivity.satFunctions.AtualizarSoftware(codAtivacao, numSessao);
                break;

            case "Versao":
                retornoOperacao = MainActivity.satFunctions.Versao();
                break;

            default:
                retornoOperacao = "";
                break;
            }


            //GlobalValues.codigoAtivacao = codAtivacao;
            RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat(operacao, retornoOperacao);

            //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
            //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
            // Recomenda-se acessar a função e entender como ela funciona
            string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

            SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
        }
        public void associarSat(string cnpjContribuinte, string cnpjSH, string codAtivacao, string assinatura, int numeroSessao)
        {
            var codigoAtivacao = codAtivacao.ToString();
            var assinaturaSat  = assinatura.ToString();

            string resp = MainActivity.satFunctions.AssociarSat(
                cnpjContribuinte.ToString(), cnpjSH.ToString(),
                codigoAtivacao, assinaturaSat,
                numeroSessao);

            RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("AssociarSAT", resp);

            //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
            //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
            // Recomenda-se acessar a função e entender como ela funciona
            string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

            SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
            //GlobalValues.codigoAtivacao = codigoAtivacao;
        }
        public void trocarCodAtivacao(string CodAtivacao, string opcao, string codAtivacaoNovo, string codConfirmacao, int numerSessao)
        {
            try
            {
                var codigoAtivacaoAtual           = CodAtivacao.ToString();
                var codigoAtivacaoNovo            = codAtivacaoNovo.ToString();
                var codigoAtivacaoNovoConfirmacao = codConfirmacao.ToString();


                op = opcao.ToString().Equals("Código de ativação") ? 1 : 2;

                //GlobalValues.codigoAtivacao = codigoAtivacaoNovo;
                string     retorno    = MainActivity.satFunctions.TrocarCodAtivacao(codigoAtivacaoAtual, op, codigoAtivacaoNovo, numerSessao);
                RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("TrocarCodAtivacao", retorno);

                string retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);
                SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
            }
            catch (Exception e)
            {
                SatUtils.MostrarToast(MainActivity.mContext, e.Message);
            }
        }
Exemple #14
0
        public void configurarRedeSat(string codAtivacao, int numeroSessao)
        {
            try
            {
                var codigoAtivacao = codAtivacao.ToString();

                ConfiguracaoRede config = new ConfiguracaoRede();

                string     resp       = MainActivity.satFunctions.EnviarConfRede(numeroSessao, config.GerarXml(), codigoAtivacao);
                RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("EnviarConfRede", resp);

                //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
                //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
                // Recomenda-se acessar a função e entender como ela funciona
                //GlobalValues.codigoAtivacao = codigoAtivacao;
                String retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

                SatUtils.DialogoRetorno(MainActivity.mContext, retornoFormatado);
            }
            catch (Exception e)
            {
                Toast.MakeText(MainActivity.mContext, e.Message.ToString(), ToastLength.Long).Show();
            }
        }
 public void mostrarDialogo(string mensagem)
 {
     SatUtils.MostrarToast(MainActivity.mContext, mensagem);
     return;
 }
Exemple #16
0
        public void InitFuncoes()
        {
            btnConsultar.Click += delegate
            {
                repostaSat("ConsultarSat");
            };

            btnStatus.Click += delegate
            {
                var codigoAtivacao = txtCodAtivacao.Text;
                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                repostaSat("ConsultarStatusOperacional");
            };

            btnTeste.Click += delegate
            {
                var codigoAtivacao = txtCodAtivacao.Text;

                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                repostaSat("EnviarTesteFim");
            };

            btnVendas.Click += delegate
            {
                var codigoAtivacao = txtCodAtivacao.Text;
                if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                repostaSat("EnviarTesteVendas");
            };

            btnCancelamento.Click += delegate
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("Atenção");
                builder.SetMessage("Digite a chave de cancelamento");

                EditText inputChaveCancelamento = new EditText(this);
                inputChaveCancelamento.Text = GlobalValues.ultimaChaveVenda;
                builder.SetView(inputChaveCancelamento);
                builder.SetNeutralButton("OK", OkAction);

                void OkAction(object sender, DialogClickEventArgs e)
                {
                    ultimaChaveVenda = inputChaveCancelamento.Text;
                    var codigoAtivacao = txtCodAtivacao.Text;

                    if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                    {
                        SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                        return;
                    }

                    if (string.IsNullOrEmpty(ultimaChaveVenda))
                    {
                        SatUtils.MostrarToast(this, "Digite uma chave de cancelamento!");
                        return;
                    }

                    repostaSat("CancelarUltimaVenda");
                }

                alerta = builder.Create();
                alerta.Show();
            };

            btnSessao.Click += delegate
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("Atenção");
                builder.SetMessage("Digite o número da sessão");
                EditText inputCodigoSessao = new EditText(this);
                inputCodigoSessao.SetRawInputType(InputTypes.ClassNumber);
                builder.SetView(inputCodigoSessao);
                builder.SetNeutralButton("OK", OkAction);
                inputCodigoSessao.Text = GlobalValues.ultimaSessao;

                void OkAction(object sender, DialogClickEventArgs e)
                {
                    codigoSessao = inputCodigoSessao.Text.Trim();
                    var codigoAtivacao = txtCodAtivacao.Text;

                    if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                    {
                        SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                        return;
                    }

                    if (string.IsNullOrEmpty(codigoSessao))
                    {
                        SatUtils.MostrarToast(this, "Digite um número de sessão!");
                        return;
                    }

                    repostaSat("ConsultarNumeroSessao");
                }

                alerta = builder.Create();
                alerta.Show();
            };
        }
Exemple #17
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.ferramentas);
            satFunctions = new SatFunctions(this);

            btnBloquear    = FindViewById <Button>(Resource.Id.btnBloquear);
            btnDesbloquear = FindViewById <Button>(Resource.Id.btnDesbloquear);
            btnLog         = FindViewById <Button>(Resource.Id.btnLog);
            btnAtualizar   = FindViewById <Button>(Resource.Id.btnAtualizar);
            btnVersao      = FindViewById <Button>(Resource.Id.btnVersao);
            txtCodAtivacao = FindViewById <EditText>(Resource.Id.txtCodAtivacao);

            txtCodAtivacao.Text = GlobalValues.codigoAtivacao;

            btnBloquear.Click += delegate
            {
                if (!SatUtils.VerificaCodigoAtivacao(txtCodAtivacao.Text))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                RespostaSat("BloquearSat");
            };

            btnDesbloquear.Click += delegate
            {
                if (!SatUtils.VerificaCodigoAtivacao(txtCodAtivacao.Text))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                RespostaSat("DesbloquearSat");
            };

            btnLog.Click += delegate
            {
                if (!SatUtils.VerificaCodigoAtivacao(txtCodAtivacao.Text))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }


                try
                {
                    RespostaSat("ExtrairLog");
                }
                catch (Exception e)
                {
                    SatUtils.MostrarToast(this, e.Message);
                }
            };

            btnAtualizar.Click += delegate
            {
                if (!SatUtils.VerificaCodigoAtivacao(txtCodAtivacao.Text))
                {
                    SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                    return;
                }

                RespostaSat("AtualizarSoftware");
            };

            btnVersao.Click += delegate
            {
                RespostaSat("Versao");
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.rede);
            satFunctions = new SatFunctions(this);

            btnConfigurar       = FindViewById <Button>(Resource.Id.buttonEnviar);
            txtCodAtivacao      = FindViewById <EditText>(Resource.Id.txtCodAtivacao);
            txtIp               = FindViewById <EditText>(Resource.Id.txtIp);
            txtMascara          = FindViewById <EditText>(Resource.Id.txtMascara);
            txtGateway          = FindViewById <EditText>(Resource.Id.txtGateway);
            txtDns              = FindViewById <EditText>(Resource.Id.txtDns);
            txtDns2             = FindViewById <EditText>(Resource.Id.txtDns2);
            txtProxyIp          = FindViewById <EditText>(Resource.Id.txtProxyIp);
            txtPorta            = FindViewById <EditText>(Resource.Id.txtPorta);
            txtUser             = FindViewById <EditText>(Resource.Id.txtUser);
            txtPassword         = FindViewById <EditText>(Resource.Id.txtPassword);
            spinnerTipoRede     = FindViewById <Spinner>(Resource.Id.tipoRede);
            spinnerOptDns       = FindViewById <Spinner>(Resource.Id.optDns);
            spinnerOptProxy     = FindViewById <Spinner>(Resource.Id.optProxy);
            txtCodAtivacao.Text = GlobalValues.codigoAtivacao;


            ArrayAdapter adp = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, tipoRede);

            adp.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerItem);
            spinnerTipoRede.Adapter       = adp;
            spinnerTipoRede.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinnerTipoRede_ItemSelected);

            ArrayAdapter adp2 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, optDns);

            adp2.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerItem);
            spinnerOptDns.Adapter       = adp2;
            spinnerOptDns.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinnerOptDns_ItemSelected);

            ArrayAdapter adp3 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, optProxy);

            adp3.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerItem);
            spinnerOptProxy.Adapter       = adp3;
            spinnerOptProxy.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinnerOptProxy_ItemSelected);

            btnConfigurar.Click += delegate
            {
                try
                {
                    var codigoAtivacao = txtCodAtivacao.Text;

                    if (!SatUtils.VerificaCodigoAtivacao(codigoAtivacao))
                    {
                        SatUtils.MostrarToast(this, "Código de Ativação deve ter entre 8 a 32 caracteres!");
                        return;
                    }

                    ConfiguracaoRede config = new ConfiguracaoRede();

                    // Monta as tags do XML sobre a parte de REDE
                    if (spinnerTipoRede.SelectedItem.Equals("Estático"))
                    {
                        config.tipoLan = "IPFIX";


                        if (!string.IsNullOrEmpty(txtIp.Text))
                        {
                            config.lanIP = txtIp.Text;
                        }

                        if (!string.IsNullOrEmpty(txtMascara.Text))
                        {
                            config.lanMask = txtMascara.Text;
                        }

                        if (!string.IsNullOrEmpty(txtGateway.Text))
                        {
                            config.lanGW = txtGateway.Text;
                        }

                        // Monta as tags do XML sobre a parte de DNS
                        if (spinnerOptDns.SelectedItem.Equals("Sim"))
                        {
                            if (!string.IsNullOrEmpty(txtDns.Text))
                            {
                                config.lanDNS1 = txtDns.Text;
                            }

                            if (!string.IsNullOrEmpty(txtDns2.Text))
                            {
                                config.lanDNS2 = txtDns2.Text;
                            }
                        }
                        else
                        {
                            config.lanDNS1 = "8.8.8.8";
                            config.lanDNS2 = "4.4.4.4";
                        }
                    }
                    else
                    {
                        config.tipoLan = "DHCP";
                    }


                    // Monta as tags do XML sobre a parte de PROXY
                    if (spinnerOptProxy.SelectedItem.Equals("Não usa proxy"))
                    {
                        config.proxy = "0";
                    }

                    else if (spinnerOptProxy.SelectedItem.Equals("Proxy com configuração"))
                    {
                        config.proxy = "1";

                        if (!string.IsNullOrEmpty(txtProxyIp.Text))
                        {
                            config.proxy_ip = txtProxyIp.Text;
                        }

                        if (!string.IsNullOrEmpty(txtPorta.Text))
                        {
                            config.proxy_porta = txtPorta.Text;
                        }

                        if (!string.IsNullOrEmpty(txtUser.Text))
                        {
                            config.proxy_user = txtUser.Text;
                        }

                        if (!string.IsNullOrEmpty(txtPassword.Text))
                        {
                            config.proxy_senha = txtPassword.Text;
                        }
                    }
                    else
                    {
                        config.proxy = "2";
                        if (!string.IsNullOrEmpty(txtProxyIp.Text))
                        {
                            config.proxy_ip = txtProxyIp.Text;
                        }

                        if (!string.IsNullOrEmpty(txtPorta.Text))
                        {
                            config.proxy_porta = txtPorta.Text;
                        }

                        if (!string.IsNullOrEmpty(txtUser.Text))
                        {
                            config.proxy_user = txtUser.Text;
                        }

                        if (!string.IsNullOrEmpty(txtPassword.Text))
                        {
                            config.proxy_senha = txtPassword.Text;
                        }
                    }

                    string     resp       = satFunctions.EnviarConfRede(SatUtils.GerarNumeroSessao, config.GerarXml(), codigoAtivacao);
                    RetornoSat retornoSat = OperacaoSat.invocarOperacaoSat("EnviarConfRede", resp);

                    //* Está função [OperacaoSat.formataRetornoSat] recebe como parâmetro a operação realizada e um objeto do tipo RetornoSat
                    //* Retorna uma String com os valores obtidos do retorno da Operação já formatados e prontos para serem exibidos na tela
                    // Recomenda-se acessar a função e entender como ela funciona
                    GlobalValues.codigoAtivacao = codigoAtivacao;
                    String retornoFormatado = OperacaoSat.formataRetornoSat(retornoSat);

                    SatUtils.DialogoRetorno(this, retornoFormatado);
                }
                catch (Exception e)
                {
                    Toast.MakeText(this, e.Message.ToString(), ToastLength.Long).Show();
                }
            };
        }