Esempio n. 1
0
        public HttpResponseMessage PostUsuarioAutenticacao([FromBody] UsuarioVO usuario)
        {
            Retorno obj = new Retorno();

            if (string.IsNullOrWhiteSpace(usuario.Token) && !usuario.Ativo)
            {
                //Verifica se os parametros foram informados.
                if (string.IsNullOrWhiteSpace(usuario.Login) || string.IsNullOrWhiteSpace(usuario.Senha))
                {
                    obj.TpRetorno        = (int)TpRetornoEnum.Erro;
                    obj.RetornoMensagem  = "Login Inválido!";
                    obj.RetornoDescricao = "Para efetuar o login, deverá ser informado os campos Login e Senha.";
                }
                else
                {
                    UsuarioVO user = LoginDAO.GetUserAutenticacao(usuario.Login, usuario.Senha);

                    if (user == null)
                    {
                        obj.TpRetorno        = (int)TpRetornoEnum.SemRetorno;
                        obj.RetornoMensagem  = "Login Inválido!";
                        obj.RetornoDescricao = "Verifique se as credenciais estão corretas!";
                    }
                    else
                    {
                        user.Token = Guid.NewGuid().ToString();
                        user.Ativo = true;

                        obj.TpRetorno   = (int)TpRetornoEnum.Sucesso;
                        obj.ObjRetorno  = user;
                        obj.ObjTypeName = user.GetType().Name;
                    }
                }
            }
            else
            {
                usuario.DtAlteracao = DateTime.Now.ToShortDateString();

                LoginDAO.Autenticar(usuario);

                obj.TpRetorno = (int)TpRetornoEnum.Sucesso;
            }

            return(new HttpResponseMessage()
            {
                Content = new StringContent(Metodos.ObjectToJson(obj)),
                StatusCode = HttpStatusCode.OK
            });
        }
Esempio n. 2
0
        private void Autenticar(string login, string senha)
        {
            ConsumeRest autenticar = new ConsumeRest();

            UsuarioVO usuario = new UsuarioVO();

            usuario.Login = login;
            usuario.Senha = senha;

            autenticar.PostResponse <Retorno>("login/Autenticar", usuario).ContinueWith(t =>
            {
                //O ContinueWith é responsavel por fazer algo após o request finalizar
                //Aqui verificamos se houve problema ne requisição
                if (t.IsFaulted)
                {
                    Debug.WriteLine(t.Exception.Message);
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        DisplayAlert("Falha", "Ocorreu um erro na Requisição.", "Ok");
                    });
                }
                //Aqui verificamos se a requisição foi cancelada por algum Motivo
                else if (t.IsCanceled)
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        DisplayAlert("Cancela", "Requisição Cancelada.", "Ok");
                    });
                }
                //Caso a requisição ocorra sem problemas, cairemos aqui
                else
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        Retorno obj;
                        UsuarioVO user = new UsuarioVO();

                        if (t.Result is Retorno)
                        {
                            obj = (Retorno)t.Result;

                            if ((TpRetornoEnum)obj.TpRetorno == TpRetornoEnum.Sucesso && obj.ObjRetorno != null)
                            {
                                if (obj.ObjTypeName == user.GetType().Name)
                                {
                                    user = Metodos.JsonToCustomObject <UsuarioVO>(obj.ObjRetorno);
                                }

                                if (App.DataBase.GetUsuario(user.Id) == null)
                                {
                                    App.DataBase.SaveUsuario(user);
                                }

                                Autenticar();
                            }
                            else if ((TpRetornoEnum)obj.TpRetorno == TpRetornoEnum.SemRetorno)
                            {
                                DisplayAlert(obj.RetornoMensagem, obj.RetornoDescricao, "Ok");
                            }
                            else
                            {
                                DisplayAlert(obj.RetornoMensagem, obj.RetornoDescricao, "Ok");
                            }
                        }
                    });
                }
            });
        }