1
resposta

Estou fazendo um login consumindo uma WebApi , no entenado quando eu capturo as informações do usuario com o CriaConexao, dentro do RealizaLogin, ela n passa dentro do If para fazer a validação.

public class LoginViewModel : BaseViewModel {

    private string _usuario;

    public string Usuario
    {
        get { return _usuario; }
        set { SetProperty(ref _usuario, value);  }
    }

    private string _senha;

    public string Senha
    {
        get { return _senha; }
        set { SetProperty(ref _senha, value);}
    }

    private string _org;

    public string Org
    {
        get { return _org; }
        set { SetProperty(ref _org, value);  }
    }


    public Uri UrlApi = new Uri("https://cloud.softwareneutron.com.br/web-api-2");

    public ConexaoAPI  conexaoApi;

    public Command LoginCommand { get; set; } //1 passo - criar a propriedade

    public LoginViewModel() //2 passo - dentro do construtor associar os valores para o command criado
    {
        LoginCommand = new Command(RealizaLoginCommand); //3 passo - instanciar um command

    }

    **public async void RealizaLoginCommand()
    {

        conexaoApi = ConexaoAPI.CriaConexao(UrlApi, Usuario, Senha, Org, false);

        if (conexaoApi == null)
        {

            await App.Current.MainPage.DisplayAlert("login", "Falha ao ralizar o login", "OK");

        }
        else
        {

            App.Current.Properties.Add("Logado", JsonConvert.SerializeObject(conexaoApi));
            await App.Current.SavePropertiesAsync();
            App.Current.MainPage = new NavigationPage(new Inicio());

        }**
1 resposta

Boa tarde sr., nao manjo muito mas pelo que ja fiz, ali no terceiro passo creio que vc nao precise executar um command para chama o metodo de login e sim chamar o metodo e colocar um await nele para casar com async do metodo. 2, voce esta mandando um objeto dentro do if, por isso esta passando por ele sem entrar, veja de validar os campos de usuario e senha antes para gerar um alerta para o usuario preencher ou colocar uma forma de validação em tempo de exemcução na tela, tipo um required, e para o login, valide os campos que precisa, se nao estiver null voce passa para o login, caso gere algum erro voce faz um try catch para retornar o erro, veja se da certo e qualquer coisa chama.