Example #1
0
 public App()
 {
     // Inicializamos los componentes
     InitializeComponent();
     // Actualizamos la lista de estados desde Solex
     GetEstadosGuia();
     // Obtenemos el último usuario activo
     // en la aplicación, verificamos que no haya
     // una sesión activa, guardamos el usuario actual
     Constants.CurrentUser = UserDatabase.GetLastUserActive();
     // Configuración actual
     Constants.CurrentSettings = SettingsDatabase.GetSettings();
     // Clase global de atributos de la aplicación
     ModeloMain = new MainModelo();
     // Verificamos que la sesión no se encuentre activa
     if ((Constants.CurrentUser != null) && (Constants.CurrentUser.IsLogin))
     {
         // Obtenemos el token del usuario actual
         Constants.BearerToken = TokenDatabase.GetToken().Access_token;
         // Redirigimos al dashboard
         MainPage = new NavigationPage(new Views.Menu.DashboardPage());
     }
     else
     {
         MainPage = new NavigationPage(new Views.LoginPage());
     }
 }
Example #2
0
        private void OnSairClicked(object sender, EventArgs e)
        {
            var dbToken = new TokenDatabase();
            var token   = dbToken.GetToken();
            var id      = dbToken.DeleteToken(token.Id);

            Application.Current.MainPage = new MainPage();
        }
Example #3
0
        public App()
        {
            InitializeComponent();

            var dbtoken = new TokenDatabase();

            if (dbtoken.TokenExists())
            {
                TokenSingleton.Token = dbtoken.GetToken().AccessToken;
                MainPage             = new IndexPage();
            }
            else
            {
                MainPage = new AppLotis.MainPage();
            }
        }
Example #4
0
        private async void OnEntrarClicked(object sender, EventArgs e)
        {
            var usuario = EntryEmail.Text;
            var senha   = EntrySenha.Text;
            var model   = new Login {
                Password = senha,
                Username = usuario,
            };
            var apiUsuario     = new RestUsuario();
            var resultadoLogin = await apiUsuario.Logar(model);

            if (resultadoLogin != null)
            {
                var dbToken = new TokenDatabase();
                dbToken.AddToken(resultadoLogin);
                TokenSingleton.Token = resultadoLogin.AccessToken;
                var page = new IndexPage();
                Application.Current.MainPage = page;
            }
            else
            {
                await DisplayAlert("Erro", "Deu errado", "Ok");
            }
        }
Example #5
0
        private async void OnBtnFinalizarClicked(object sender, EventArgs e)
        {
            if (EntryConfirmarSenha.Text != EntrySenha.Text)
            {
                await DisplayAlert("Erro", MensagensErro.SENHA_CONFIRMACAO_ERRADA, "Ok");

                EntryConfirmarSenha.TextColor = Color.Red;
                EntrySenha.TextColor          = Color.Red;
                return;
            }
            UsuarioSingleton.Senha = EntrySenha.Text;
            UsuarioSingleton.Email = EntryEmail.Text;
            var apiUsuario = new RestUsuario();
            var model      = new RegistrarUsuarioViewModel()
            {
                Nome            = UsuarioSingleton.Nome,
                Funcao          = "Usuario",
                Email           = UsuarioSingleton.Email,
                Password        = UsuarioSingleton.Senha,
                ConfirmPassword = UsuarioSingleton.Senha
            };


            var resultadoUsuario = await apiUsuario.RegistrarNovoUsuario(model);

            var apiVeiculo   = new RestVeiculo();
            var modelVeiculo = new VeiculoDto()
            {
                Placa     = VeiculoSingleton.Placa,
                Cor       = VeiculoSingleton.Cor,
                Marca     = VeiculoSingleton.Marca,
                Modelo    = VeiculoSingleton.Modelo,
                UsuarioId = resultadoUsuario.Id
            };

            var resultadoVeiculo = await apiVeiculo.PostVeiculo(modelVeiculo);

            var apiLavagem = new RestLavagem();

            //TODO: Pegar a cidade dinamicamente
            var modelLavagem = new LavagemDto()
            {
                ValorEmReais       = LavagemSingleton.ValorEmReais,
                Longitude          = LavagemSingleton.Longitude,
                Latitude           = LavagemSingleton.Latitude,
                Cidade             = "Santa Cruz do Sul",
                DiaHorario         = LavagemSingleton.DiaHorario,
                Endereco           = LavagemSingleton.Endereco,
                LocalDeRecebimento = LavagemSingleton.LocalDeRecebimento,
                TipoLavagemId      = LavagemSingleton.TipoLavagemId,
                TrocoEmReais       = LavagemSingleton.TrocoEmReais,
                UsuarioId          = resultadoUsuario.Id,
                VeiculoId          = resultadoVeiculo.Id,
                StatusId           = StatusDisponiveis.AGENDADA,
                Adicionais         = LavagemSingleton.Adicionais
            };
            var resultadoLavagem = await apiLavagem.PostLavagem(modelLavagem);

            await DisplayAlert("Erro", resultadoLavagem, "Ok");


            //TODO: Melhorar essas verificações
            if (resultadoUsuario.Id != null && resultadoVeiculo.Cor != null && resultadoLavagem != null)
            {
                var resultadoLogin = await apiUsuario.Logar(new Login()
                {
                    Password = UsuarioSingleton.Senha,
                    Username = UsuarioSingleton.Email
                });

                if (resultadoLogin != null)
                {
                    var dbToken = new TokenDatabase();
                    dbToken.AddToken(resultadoLogin);
                    TokenSingleton.Token = resultadoLogin.AccessToken;
                    var page = new IndexPage();
                    Application.Current.MainPage = page;
                }
            }
            else
            {
                await DisplayAlert("Erro", resultadoLavagem, "Ok");
            }
        }