Exemplo n.º 1
0
        /// <summary>
        /// Metodo de Login
        /// </summary>
        /// <returns></returns>
        public async Task ExecutarLogin()
        {
            try
            {
                // Carregando
                Loading    = true;
                OffLoading = false;

                // Validação
                if (string.IsNullOrWhiteSpace(Login.Username) || string.IsNullOrWhiteSpace(Login.Password))
                {
                    throw new ErrorException(Mensagem.Validacao.UsuarioNaoEncontrato);
                }

                // Autenticacao
                var modelUsu = autorizacaoServico.Autenticar(Login.Username, Login.Password);

                // Busca perfil do usuario
                var perfil = await motoristaServico.BuscaPerfilMotorista();

                // Usuario autenticado
                usuarioAutenticado.SetPerfil(perfil);

                // Salva login
                await GravaUsuario();
            }
            finally
            {
                // Finaliza loading
                Loading    = false;
                OffLoading = true;
            }
        }
Exemplo n.º 2
0
        public KeyValuePair <bool, TipoContrato> BuscaCorrida()
        {
            try
            {
                // Busca perfil do usuario
                var perfil = new PerfilMotoristaModel();
                Task.Run(async() =>
                {
                    perfil = await BuscaPerfilMotorista();
                }).Wait();

                // Se existe diaria
                if (perfil != null && perfil.idRegistroDiaria != null)
                {
                    usuarioAutenticado.SetPerfil(perfil);
                    return(new KeyValuePair <bool, TipoContrato>(true, TipoContrato.ContratoLocacao));
                }
                else // Se nao - busca Corrida
                {
                    // Busca Corrida
                    var corrida = new CorridaAbertaModel();
                    Task.Run(async() =>
                    {
                        corrida = await BuscaCorridaAberta();
                    }).Wait();

                    // Corrida
                    if (corrida != null)
                    {
                        // ID Corrida
                        usuarioAutenticado.IDCorridaAtendimento = corrida.ID;

                        // Binding
                        chamadoItem = new ChamadoEncontradoItemViewModel()
                        {
                            NomeCliente    = corrida.NomeCliente,
                            Comissao       = corrida.Comissao.ToString("C"),
                            DestinoInicial = corrida.EnderecoCompleto
                        };
                        GlobalVariablesManager.SetApplicationCurrentProperty(GlobalVariablesManager.VariaveisGlobais.DadosCorridaPesquisada, chamadoItem);

                        // Return
                        return(new KeyValuePair <bool, TipoContrato>(true, TipoContrato.ChamadosAvulsos));
                    }
                    else
                    {
                        usuarioAutenticado.IDCorridaAtendimento = null;
                        return(new KeyValuePair <bool, TipoContrato>(false, TipoContrato.ChamadosAvulsos));
                    }
                }
            }
            finally
            {
            }
        }