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 }); }
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"); } } }); } }); }