コード例 #1
0
        public async Task <bool> HTML_AutenticarUsuario(Pacote_Auth Pacote_AuthWEB)
        {
            try
            {
                HttpClient URL = new HttpClient();
                List <KeyValuePair <string, string> > pairs = Pacote_AuthWEB.ListarAtributos();

                var content = new FormUrlEncodedContent(pairs);

                URL.Timeout = TimeSpan.FromSeconds(3);

                Task <HttpResponseMessage> Conteudo = URL.PostAsync(_Servidor, content);
                await Task.WhenAll(Conteudo);

                if (Conteudo.Result.IsSuccessStatusCode)
                {
                    string Dados = await Conteudo.Result.Content.ReadAsStringAsync();

                    Pacote_Base PB = JsonConvert.DeserializeObject <Pacote_Base>(Dados);
                    if (PB.Pacote != TipoPacote.Error)
                    {
                        Pacote_Autenticacao             = JsonConvert.DeserializeObject <Pacote_Auth>(PB.Conteudo);;
                        Pacote_Autenticacao.Autenticado = true;
                        Pacote_Autenticacao.Error       = false;


                        return(true);
                    }
                    else
                    {
                        Error = JsonConvert.DeserializeObject <Pacote_Error>(PB.Conteudo);
                        return(false);
                    }
                }
                else
                {
                    Pacote_AuthWEB.Autenticado = false;
                    Pacote_AuthWEB.Error       = true;
                    Error          = new Pacote_Error();
                    Error.Error    = true;
                    Error.Mensagem = "A conexão com o URi não foi estabelecida com sucesso!";

                    return(false);
                }
            }
            catch (Exception e)
            {
                TratadorErros(e, GetType().Name);
                //Classe Tratador de erros tem métodos para tratar erro a esse nível
                return(false);
            }
        }
コード例 #2
0
        /**
         * Data: 02/04/2019
         * Transforma uma string em pacote para acesso.
         * Return: string
         */
        private dynamic DeserializarPacote(string Pacote)
        {
            try
            {
                Base = JsonConvert.DeserializeObject <Pacote_Base>(Pacote);
                switch (Base.Pacote)
                {
                case TipoPacote.Auth:
                    Pacote_Auth Auth = JsonConvert.DeserializeObject <Pacote_Auth>(Base.Conteudo);
                    return(Auth);

                case TipoPacote.Comando:
                    Pacote_Comando Exec = JsonConvert.DeserializeObject <Pacote_Comando>(Base.Conteudo);
                    return(Exec);

                case TipoPacote.File:
                    Pacote_File File = JsonConvert.DeserializeObject <Pacote_File>(Base.Conteudo);
                    return(File);

                case TipoPacote.FileSystem:
                    Pacote_SystemFile FileSystem = JsonConvert.DeserializeObject <Pacote_SystemFile>(Base.Conteudo);
                    return(FileSystem);

                case TipoPacote.Echo:
                    Pacote_PingEcho Ping = JsonConvert.DeserializeObject <Pacote_PingEcho>(Base.Conteudo);
                    return(Ping);

                case TipoPacote.Replay:
                    Pacote_PingReplay Replay = JsonConvert.DeserializeObject <Pacote_PingReplay>(Base.Conteudo);
                    return(Replay);

                case TipoPacote.Inicializacao:
                    Pacote_Inicializacao Inicializacao = JsonConvert.DeserializeObject <Pacote_Inicializacao>(Base.Conteudo);
                    return(Inicializacao);


                default:
                    throw new Exception("Tentativa de envio de pacote não reconhecida pelo sistema.");
                }
            }
            catch (Exception e)
            {
                TratadorErros(e, this.GetType().Name);;
                return(false);
            }
        }
コード例 #3
0
        /**
         * Data: 22/03/2019
         * Transforma o pacote em string.
         * Return: string
         */
        public string SerializarPacote(ITipoPacote Conteudo)
        {
            try
            {
                string      Pct     = JsonConvert.SerializeObject(Conteudo);
                Pacote_Base PctBase = new Pacote_Base();
                PctBase.Pacote   = Conteudo.GetTipoPacote();
                PctBase.Conteudo = Pct;

                string SerializarPacote = JsonConvert.SerializeObject(PctBase);
                return(SerializarPacote);
            }
            catch (Exception e)
            {
                TratadorErros(e, this.GetType().Name);;
                return(null);
            }
        }
コード例 #4
0
        /**
         * <summary>
         * Converte uma string em uma classe de pacote.
         * </summary>
         */
        private dynamic DeserializarPacote(string Pacote)
        {
            Pacote_Base Base = JsonConvert.DeserializeObject <Pacote_Base>(Pacote);

            switch (Base.Pacote)
            {
            case TipoPacote.Auth:
                Pacote_Auth Auth = JsonConvert.DeserializeObject <Pacote_Auth>(Base.Conteudo);
                return(Auth);

            case TipoPacote.Comando:
                Pacote_Comando Exec = JsonConvert.DeserializeObject <Pacote_Comando>(Base.Conteudo);
                return(Exec);

            case TipoPacote.File:
                Pacote_File File = JsonConvert.DeserializeObject <Pacote_File>(Base.Conteudo);
                return(File);

            case TipoPacote.FileSystem:
                Pacote_SystemFile FileSystem = JsonConvert.DeserializeObject <Pacote_SystemFile>(Base.Conteudo);
                return(FileSystem);

            case TipoPacote.Echo:
                Pacote_PingEcho Ping = JsonConvert.DeserializeObject <Pacote_PingEcho>(Base.Conteudo);
                return(Ping);

            case TipoPacote.Replay:
                Pacote_PingReplay Replay = JsonConvert.DeserializeObject <Pacote_PingReplay>(Base.Conteudo);
                return(Replay);

            case TipoPacote.Inicializacao:
                Pacote_Inicializacao Inicializacao = JsonConvert.DeserializeObject <Pacote_Inicializacao>(Base.Conteudo);
                return(Inicializacao);
            }

            return(null);
        }