示例#1
0
        private static void avisarRadar(LocalizacaoInfo local, RadarInfo radar)
        {
            var regraAviso = new AvisoSonoroBLL();

            RadarBLL.RadarAtual = radar;
            string mensagem = "Tem um radar a frente, diminua para " + radar.Velocidade.ToString() + "km/h!";

            MensagemUtils.notificar(RADAR_ID, "Radar Club", mensagem, radar.Velocidade);
            if (PreferenciaUtils.BeepAviso)
            {
                regraAviso.play(PreferenciaUtils.SomAlarme);
            }
            if (PreferenciaUtils.VibrarAlerta)
            {
                int tempo = PreferenciaUtils.TempoDuracaoVibracao;
                if (tempo <= 0)
                {
                    tempo = 1;
                }
                tempo = tempo * 1000;
                MensagemUtils.vibrar(tempo);
            }
            if (PreferenciaUtils.HabilitarVoz)
            {
                int distancia = arredondarDistancia(local.Distancia);
                if (distancia != DistanciaOld)
                {
                    regraAviso.play(RadarTipoEnum.RadarFixo, radar.Velocidade, distancia);
                    DistanciaOld = distancia;
                }
            }
        }
示例#2
0
        public bool iniciarGravacao()
        {
            if (PercursoUtils.Gravando)
            {
                return(false);
            }
            PercursoInfo percurso = new PercursoInfo();

            gravar(percurso);
            //atualizarEndereco();
            PercursoUtils.PercursoAtual = percurso;
            //_dataAnterior = DateTime.MinValue;
            //_ultimoMovimentoReal = DateTime.MinValue;
            PercursoUtils.Gravando  = true;
            PercursoUtils.Latitude  = 0;
            PercursoUtils.Longitude = 0;
            //_emMovimento = true;
            //MensagemUtils.notificar(2, "Gravando Percurso", "Gravando percurso agora!");
            MensagemUtils.avisar("Iniciando gravação do percurso!");
            MensagemUtils.notificarPermanente(
                NOTIFICACAO_GRAVAR_PERCURSO_ID,
                "Gravando Percurso...", "",
                NOTIFICACAO_PARAR_PERCURSO_ID,
                "Parar", ACAO_PARAR_GRAVACAO
                );
            return(true);
        }
示例#3
0
        public static UsuarioViewModel Login()
        {
            string email, senha;

            do
            {
                System.Console.WriteLine("Email:");
                email = Console.ReadLine();
                if (!ValidacaoUtil.ValidarEmail(email))
                {
                    MensagemUtils.MostrarMensagem("Email inválido", Cores.ERRO);
                }
            } while (!ValidacaoUtil.ValidarEmail(email));

            System.Console.WriteLine("Senha:");
            senha = Console.ReadLine();

            UsuarioViewModel usuarioRecuperado = usuarioRepositorio.ProcurarUsuario(email, senha);

            if (usuarioRecuperado != null)
            {
                return(usuarioRecuperado);
            }
            else
            {
                MensagemUtils.MostrarMensagem("Email ou senha inválidos", Cores.ERRO);
                return(null);
            }
        }
 public virtual void cadastrarRadar(Object sender, EventArgs e)
 {
     if (InternetUtils.estarConectado())
     {
         LocalizacaoInfo local     = GPSUtils.UltimaLocalizacao;
         float           latitude  = (float)local.Latitude;
         float           longitude = (float)local.Longitude;
         GeocoderUtils.pegarAsync(latitude, longitude, (send, ev) =>
         {
             var endereco = ev.Endereco;
             Emagine.Utils.MensagemUtils.avisar(endereco.Logradouro);
         });
     }
     try
     {
         LocalizacaoInfo local = GPSUtils.UltimaLocalizacao;
         if (local != null)
         {
             RadarBLL regraRadar = RadarFactory.create();
             regraRadar.inserir(local);
             MensagemUtils.avisar("Radar incluído com sucesso.");
         }
         else
         {
             MensagemUtils.avisar("Nenhum movimento registrado pelo GPS.");
         }
     }
     catch (Exception e2)
     {
         MensagemUtils.avisar(e2.Message);
     }
 }
示例#5
0
        private void BtnAlterarSenha_Click(object sender, RoutedEventArgs e)
        {
            String senhaAtual    = txtSenhaAtual.Password.ToString();
            String senhaNova     = txtSenhaNova.Password.ToString();
            String confSenhaNova = txtConfSenhaNova.Password.ToString();


            CalculaPontuacaoSenha(senhaNova);

            try
            {
                if (ValidacaoUtils.SenhaValida(ModoVerificacaoSenha.Alterando, senhaNova, confSenhaNova, senhaAtual))
                {
                    _usuarioApplication.AlterarSenhaUsuario(_cpf, senhaNova);

                    MensagemUtils.MostrarMensagemSucesso(Title, "Senha alterada com sucesso!");

                    Close();
                }
            }
            catch (Exception ex)
            {
                MensagemUtils.MostrarMensagemAlerta(Title, ex.Message);

                txtSenhaAtual.Clear();
                txtSenhaNova.Clear();
                txtConfSenhaNova.Clear();

                txtSenhaNova.Focus();
            }
        }
示例#6
0
        public static void CadastrarUsuario()
        {
            string   nome, email, senha, confirmacaoSenha;
            DateTime dataDeNascimento;

            do
            {
                System.Console.WriteLine("Digite o nome do usuário:");
                nome = Console.ReadLine();
                if (string.IsNullOrEmpty(nome))
                {
                    MensagemUtils.MostrarMensagem("Nome inválido", Cores.ERRO);
                }
            } while (string.IsNullOrEmpty(nome));

            do
            {
                System.Console.WriteLine("Digite o Email do usuário:");
                email = Console.ReadLine();
                if (!ValidacaoUtil.ValidarEmail(email))
                {
                    MensagemUtils.MostrarMensagem("Email inválido", Cores.ERRO);
                }
            } while (!ValidacaoUtil.ValidarEmail(email));

            do
            {
                System.Console.WriteLine("Digite a senha do usuário:");
                senha = Console.ReadLine();
                System.Console.WriteLine("Confirme a senha:");
                confirmacaoSenha = Console.ReadLine();

                if (!ValidacaoUtil.ConfirmacaoSenha(senha, confirmacaoSenha))
                {
                    MensagemUtils.MostrarMensagem("Senha inválida", Cores.ERRO);
                }
            } while (!ValidacaoUtil.ConfirmacaoSenha(senha, confirmacaoSenha));

            do
            {
                System.Console.WriteLine("Digite a data de nascimento do usuário:");
                dataDeNascimento = DateTime.Parse(Console.ReadLine());
                if (dataDeNascimento > DateTime.Now)
                {
                    MensagemUtils.MostrarMensagem("Data de nascimento inválida", Cores.ERRO);
                }
            } while (dataDeNascimento > DateTime.Now);


            UsuarioViewModel usuario = new UsuarioViewModel();

            usuario.Nome             = nome;
            usuario.Email            = email;
            usuario.Senha            = senha;
            usuario.Saldo            = 0;
            usuario.DataDenascimento = dataDeNascimento;
            usuarioRepositorio.Inserir(usuario);

            MensagemUtils.MostrarMensagem("Usuário cadastrado com sucesso", Cores.SUCESSO);
        }
示例#7
0
 public override void OnReceive(Context context, Intent intent)
 {
     if (intent.Action == Intent.ActionBootCompleted)
     {
         Intent pushIntent = new Intent(context, typeof(GPSAndroid));
         context.StartService(pushIntent);
         InvokeAbortBroadcast();
     }
     else if (intent.Action == PercursoBLL.ACAO_PARAR_SIMULACAO)
     {
         GPSUtils.pararSimulacao();
         MensagemUtils.pararNotificaoPermanente(PercursoBLL.NOTIFICACAO_SIMULACAO_PERCURSO_ID);
         InvokeAbortBroadcast();
     }
     else if (intent.Action == PercursoBLL.ACAO_PARAR_GRAVACAO)
     {
         PercursoBLL regraPercurso = PercursoFactory.create();
         regraPercurso.pararGravacao();
         //MensagemUtils.pararNotificaoPermanente(PercursoBLL.NOTIFICACAO_GRAVAR_PERCURSO_ID);
         InvokeAbortBroadcast();
     }
     else if (intent.Action == "Fechar")
     {
         NotificationManager notificationManager = (NotificationManager)context.GetSystemService(Context.NotificationService);
         notificationManager.Cancel(1);
         System.Environment.Exit(0);
         Process.KillProcess(Process.MyPid());
     }
 }
示例#8
0
 public void OnStatusChanged(string provider, [GeneratedEnum] Availability status, Bundle extras)
 {
     if (status.Equals(Availability.Available))
     {
         if (Disponibilidade != GPSDisponibilidadeEnum.Disponivel)
         {
             MensagemUtils.notificar(5, "Radar+", "Sinal de GPS encontrado!", audio: "sinal_gps_encontrado");
             Disponibilidade = GPSDisponibilidadeEnum.Disponivel;
         }
     }
     else if (status.Equals(Availability.OutOfService))
     {
         if (Disponibilidade != GPSDisponibilidadeEnum.ForaDoAr)
         {
             MensagemUtils.notificar(5, "Radar+", "Sinal de GPS fora do ar!", audio: "sinal_gps_fora_do_ar");
             Disponibilidade = GPSDisponibilidadeEnum.ForaDoAr;
         }
     }
     else if (status.Equals(Availability.TemporarilyUnavailable))
     {
         if (Disponibilidade != GPSDisponibilidadeEnum.IndisponivelTemporariamente)
         {
             MensagemUtils.notificar(5, "Radar+", "Sinal de GPS fora do ar!", audio: "sinal_gps_perdido");
             Disponibilidade = GPSDisponibilidadeEnum.IndisponivelTemporariamente;
         }
     }
 }
        public DownloaderAtualizacao()
        {
            this.aoCompletar += (sender, nomeArquivo) =>
            {
                fecharPopup();
                MensagemUtils.avisar("Banco de dados atualizado com sucesso.");
                PreferenciaUtils.UltimaVerificacao = DateTime.Now;
                var ultimaAtualizacao = PreferenciaUtils.UltimaAtualizacao;
                if (ultimaAtualizacao == DateTime.MinValue)
                {
                    PreferenciaUtils.UltimaAtualizacao = DateTime.Now;
                }

                /*
                 * if (_janela != null)
                 * {
                 *  _janela.Titulo = "Aguarde alguns segundos...";
                 *  _janela.Progresso = 1;
                 *  _janela.Descricao = "";
                 * }
                 *
                 * if (ArquivoUtils.existe(NOME_ARQUIVO))
                 * {
                 *  if (_janela != null)
                 *  {
                 *      _janela.Titulo = "Processando arquivo...";
                 *      _janela.Progresso = 0;
                 *      _janela.Descricao = "";
                 *  }
                 *  var task = Task.Factory.StartNew(() =>
                 *  {
                 *      string arquivo = ArquivoUtils.abrirTexto(NOME_ARQUIVO);
                 *      string[] linhas = arquivo.Split("\n".ToCharArray());
                 *
                 *      int i = 0;
                 *      foreach (string linha in linhas) {
                 *          bool executou = false;
                 *          ThreadUtils.RunOnUiThread(() => {
                 *              processarArquivo(i, linhas.Count());
                 *              i++;
                 *              executou = true;
                 *          });
                 *          while (true) {
                 *              if (executou)
                 *                  break;
                 *              Task.Delay(1).Wait();
                 *          }
                 *      }
                 *      MensagemUtils.avisar(nomeArquivo);
                 *      fecharPopup();
                 *  });
                 *  //task.Start();
                 * }
                 * else
                 *  MensagemUtils.avisar("Arquivo não encontrado!");
                 */
            };
        }
        protected override void inicializarComponente()
        {
            base.inicializarComponente();

            foreach (var item in _SomAlarme)
            {
                var alarmeSwitch = new AlarmeSwitch {
                    Style     = EstiloUtils.Popup.CheckBox,
                    SomAlarme = item.Key
                };
                alarmeSwitch.Toggled += (sender, e) =>
                {
                    var alSwitch = (AlarmeSwitch)sender;
                    if (alSwitch.IsToggled)
                    {
                        foreach (var s in _Controls)
                        {
                            if (alSwitch.SomAlarme != s.Key)
                            {
                                s.Value.IsToggled = false;
                            }
                        }
                        PreferenciaUtils.SomAlarme = alSwitch.SomAlarme;
                        var regraAviso = new AvisoSonoroBLL();
                        if (PreferenciaUtils.CanalAudio == AudioCanalEnum.Notificacao)
                        {
                            string arquivoSom = regraAviso.pegarArquivo(alSwitch.SomAlarme);
                            MensagemUtils.notificar(104, "Radar+", "Reproduzindo som de alarme para escolha!", audio: arquivoSom);
                        }
                        else
                        {
                            regraAviso.play(alSwitch.SomAlarme);
                        }
                    }
                    else
                    {
                        bool marcado = false;
                        foreach (var s in _Controls)
                        {
                            if (s.Value.IsToggled)
                            {
                                marcado = true;
                                break;
                            }
                        }
                        if (!marcado)
                        {
                            alSwitch.IsToggled = true;
                        }
                    }
                };
                _Controls.Add(item.Key, alarmeSwitch);
            }
        }
示例#11
0
        private void gravarPercurso()
        {
            PercursoBLL regraPercurso = PercursoFactory.create();

            if (regraPercurso.iniciarGravacao())
            {
                _RootLayout.Children.Remove(_GravarButton);
                _RootLayout.Children.Add(_PararButton);
            }
            else
            {
                MensagemUtils.avisar("Não foi possível iniciar a gravação!");
            }
        }
示例#12
0
        private static void avisarRadar(LocalizacaoInfo local, RadarInfo radar)
        {
            var regraAviso = new AvisoSonoroBLL();

            RadarBLL.RadarAtual = radar;
            string titulo   = "Radar+";
            string mensagem = "Tem um radar a frente, diminua para " + radar.Velocidade.ToString() + "km/h!";

            if (PreferenciaUtils.VibrarAlerta)
            {
                int tempo = PreferenciaUtils.TempoDuracaoVibracao;
                if (tempo <= 0)
                {
                    tempo = 1;
                }
                tempo = tempo * 1000;
                MensagemUtils.vibrar(tempo);
            }
            if (PreferenciaUtils.HabilitarVoz)
            {
                MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                int distancia = arredondarDistancia(local.Distancia);
                regraAviso.play(radar.Tipo, radar.Velocidade, distancia);
                DistanciaOld = distancia;
            }
            else
            {
                if (PreferenciaUtils.CanalAudio == AudioCanalEnum.Notificacao)
                {
                    if (PreferenciaUtils.BeepAviso)
                    {
                        string arquivoAlarme = regraAviso.pegarArquivo(PreferenciaUtils.SomAlarme);
                        MensagemUtils.notificar(RADAR_ID, titulo, mensagem, audio: arquivoAlarme, velocidade: radar.Velocidade);
                    }
                    else
                    {
                        MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                    }
                }
                else
                {
                    MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                    if (PreferenciaUtils.BeepAviso)
                    {
                        regraAviso.play(PreferenciaUtils.SomAlarme);
                    }
                }
            }
        }
示例#13
0
        public bool pararGravacao()
        {
            if (!PercursoUtils.Gravando)
            {
                return(false);
            }
            var percurso = PercursoUtils.PercursoAtual;

            PercursoUtils.PercursoAtual = null;
            PercursoUtils.Gravando      = false;
            MensagemUtils.avisar("Gravação finalizada!");
            MensagemUtils.pararNotificaoPermanente(PercursoBLL.NOTIFICACAO_GRAVAR_PERCURSO_ID);
            atualizarEndereco(percurso);
            return(true);
        }
示例#14
0
        private void BtnCadastrar_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

                _usuarioApplication.CadastrarUsuario(txtCPF.Text, txtRG.Text, txtUsuario.Text, txtSenha.Password, txtConfSenha.Password);

                MensagemUtils.MostrarMensagemSucesso(Title, "Usuário cadastrado com sucesso!");

                Close();
            }
            catch (CPFInvalidoException ex)
            {
                MensagemUtils.MostrarMensagemAlerta(Title, ex.Message);

                txtCPF.Clear();
                txtCPF.Focus();
            }
            catch (RGInvalidoException ex)
            {
                MensagemUtils.MostrarMensagemAlerta(Title, ex.Message);

                txtRG.Clear();
                txtRG.Focus();
            }
            catch (SenhaInvalidaException ex)
            {
                MensagemUtils.MostrarMensagemAlerta(Title, ex.Message);

                txtSenha.Clear();
                txtConfSenha.Clear();

                txtSenha.Focus();
            }
            catch (Exception)
            {
                MensagemUtils.MostrarMensagemErro(Title, "Um erro inesperado ocorreu, tente novamente mais tarde!");
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
示例#15
0
        public bool pararGravacao()
        {
            if (!PercursoUtils.Gravando)
            {
                return(false);
            }
            //MensagemUtils.notificar(2, "Gravando Percurso", "Gravando percurso agora!");
            var percurso = PercursoUtils.PercursoAtual;

            PercursoUtils.PercursoAtual = null;
            //_dataAnterior = DateTime.MinValue;
            //_ultimoMovimentoReal = DateTime.MinValue;
            PercursoUtils.Gravando = false;
            //_emMovimento = false;
            MensagemUtils.avisar("Gravação finalizada!");
            MensagemUtils.pararNotificaoPermanente(PercursoBLL.NOTIFICACAO_GRAVAR_PERCURSO_ID);
            atualizarEndereco(percurso);
            return(true);
        }
示例#16
0
        private void criarBotaoRemover()
        {
            _RemoverRadarButton = new Image
            {
                Aspect        = Aspect.AspectFit,
                Source        = ImageSource.FromFile("menos.png"),
                WidthRequest  = 180,
                HeightRequest = 180
            };
            AbsoluteLayout.SetLayoutBounds(_RemoverRadarButton, new Rectangle(0.93, 0.93, 0.2, 0.2));
            AbsoluteLayout.SetLayoutFlags(_RemoverRadarButton, AbsoluteLayoutFlags.All);


            _RemoverRadarButton.GestureRecognizers.Add(
                new TapGestureRecognizer()
            {
                Command = new Command(() =>
                {
                    try
                    {
                        AudioUtils.stop();
                        if (RadarBLL.RadarAtual != null)
                        {
                            RadarBLL regraRadar = RadarFactory.create();
                            regraRadar.excluir(RadarBLL.RadarAtual);
                            MensagemUtils.avisar("Radar excluído com sucesso.");
                            RadarBLL.RadarAtual = null;
                        }
                        else
                        {
                            MensagemUtils.avisar("Nenhum radar selecionado.");
                        }
                    }
                    catch (Exception e)
                    {
                        MensagemUtils.avisar(e.Message);
                    }
                }
                                      )
            });
        }
示例#17
0
        private async void pararPercurso()
        {
            var retorno = await DisplayActionSheet("Tem certeza que deseja parar a gravação?", null, null, "Parar", "Continuar gravando");

            if (retorno == "Parar")
            {
                PercursoBLL regraPercurso = PercursoFactory.create();
                if (regraPercurso.pararGravacao())
                {
                    _RootLayout.Children.Remove(_PararButton);
                    _RootLayout.Children.Add(_GravarButton);

                    var percursos = regraPercurso.listar();
                    _PercursoListView.BindingContext = percursos;
                }
                else
                {
                    MensagemUtils.avisar("Não foi possível parar a gravação!");
                }
            }
        }
示例#18
0
        public bool iniciarGravacao()
        {
            if (PercursoUtils.Gravando)
            {
                return(false);
            }
            PercursoInfo percurso = new PercursoInfo();

            gravar(percurso);
            PercursoUtils.PercursoAtual = percurso;
            PercursoUtils.Gravando      = true;
            PercursoUtils.Latitude      = 0;
            PercursoUtils.Longitude     = 0;
            MensagemUtils.avisar("Iniciando gravação do percurso!");
            MensagemUtils.notificarPermanente(
                NOTIFICACAO_GRAVAR_PERCURSO_ID,
                "Gravando Percurso...", "",
                NOTIFICACAO_PARAR_PERCURSO_ID,
                "Parar", ACAO_PARAR_GRAVACAO
                );
            return(true);
        }
示例#19
0
        public static void ListarTransacoes(UsuarioViewModel usuario)
        {
            List <TransacaoViewModel> listaDeTransacoes = transacaoRepositorio.ListarTransacoes();

            if (listaDeTransacoes.Count == 0)
            {
                MensagemUtils.MostrarMensagem("Ainda não há transações cadastradas no sistema", Cores.ALERTA);
            }

            foreach (var item in listaDeTransacoes)
            {
                if (item != null && item.Nome.Equals(usuario.Nome))
                {
                    System.Console.WriteLine("\n============================");
                    System.Console.WriteLine($"{item.Tipo} de R${item.Valor}");
                    System.Console.WriteLine($"No dia {item.DataTransacao:dd/MM/yyyy}");
                    System.Console.WriteLine($"Descrição: {item.Descricao}");
                    System.Console.WriteLine("============================");
                }
            }
            System.Console.WriteLine($"Saldo: R${usuario.Saldo}");
            System.Console.WriteLine("============================");
        }
示例#20
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (cmbCPFs.SelectedItem == null)
            {
                MensagemUtils.MostrarMensagemErro(Title, "Nenhum usuário está selecionado!");
            }
            else
            {
                try
                {
                    _usuarioApplication.AlterarUsuario(_usuario.CPF, cmbEstado.SelectedItem.ToString(), cmbPerfil.SelectedItem.ToString());
                    MensagemUtils.MostrarMensagemSucesso(Title, "Usuário alterado com sucesso!");

                    Close();
                }
                catch (Exception)
                {
                    MensagemUtils.MostrarMensagemErro(Title, "Um erro aconteceu, tente novamente mais tarde!");
                }
                finally
                {
                }
            }
        }
示例#21
0
        static void Main(string[] args)
        {
            bool querSair = false;

            do
            {
                Console.Clear();
                MenuUtils.MenuPrincipal();
                System.Console.Write("Qual a opção desejada?");
                int codigo = int.Parse(Console.ReadLine());

                switch (codigo)
                {
                case 1:
                    UsuarioViewController.CadastrarUsuario();
                    MensagemUtils.Continuar();
                    break;

                case 2:
                    UsuarioViewModel usuarioLogado = UsuarioViewController.Login();
                    if (usuarioLogado != null)
                    {
                        do
                        {
                            Console.Clear();
                            MenuUtils.MenuLogado(usuarioLogado);
                            System.Console.Write("Qual a opção desejada? ");
                            codigo = int.Parse(Console.ReadLine());


                            switch (codigo)
                            {
                            case 1:
                                TransacaoViewController.CadastrarTransacao(ref usuarioLogado);
                                MensagemUtils.Continuar();
                                break;

                            case 2:
                                TransacaoViewController.ListarTransacoes(usuarioLogado);
                                MensagemUtils.Continuar();

                                break;

                            case 3:
                                UsuarioViewController.Relatorio(usuarioLogado);
                                MensagemUtils.Continuar();
                                break;

                            case 4:
                                TransacaoRepositorio.ZiparArquivos();
                                MensagemUtils.Continuar();
                                break;

                            case 5:
                                return;

                            default:
                                MensagemUtils.MostrarMensagem("Opção inválida", Cores.ALERTA);
                                MensagemUtils.Continuar();
                                break;
                            }
                        } while (!querSair);
                    }
                    break;

                case 3:
                    querSair = true;
                    break;

                default:
                    MensagemUtils.MostrarMensagem("Opção inválida", Cores.ALERTA);
                    break;
                }
            } while (!querSair);
        }
示例#22
0
        public GastoNovoPage()
        {
            Title = "Novo Custo";
            var gasto = new GastoInfo {
                DataInclusao = DateTime.Now
            };
            var local = GPSUtils.UltimaLocalizacao;

            if (local != null)
            {
                gasto.Latitude  = (float)local.Latitude;
                gasto.Longitude = (float)local.Longitude;
            }
            BindingContext = gasto;

            var gravarButton = new ToolbarItem {
                Text = "Inserir"
            };

            gravarButton.Clicked += (sender, e) => {
                var novoGasto  = (GastoInfo)BindingContext;
                var regraGasto = GastoFactory.create();
                regraGasto.gravar(novoGasto);

                MensagemUtils.avisar("Gasto incluído com sucesso!");
                ((MasterDetailPage)Application.Current.MainPage).Detail = new NavigationPage(new VelocimetroPage());
                //NavigationX.create(this).PopAsync();
            };
            ToolbarItems.Add(gravarButton);

            if (TelaUtils.Orientacao == "Landscape")
            {
                _width = (int)TelaUtils.LarguraSemPixel * 0.5;
            }
            else
            {
                _width = (int)TelaUtils.LarguraSemPixel * 0.8;
            }

            inicializarComponente();

            Content = new ScrollView
            {
                Orientation     = ScrollOrientation.Vertical,
                VerticalOptions = LayoutOptions.FillAndExpand,
                Content         = new StackLayout
                {
                    BackgroundColor   = Color.Transparent,
                    Orientation       = StackOrientation.Vertical,
                    VerticalOptions   = LayoutOptions.StartAndExpand,
                    HorizontalOptions = LayoutOptions.CenterAndExpand,
                    Children          =
                    {
                        new StackLayout                 {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                new Image               {
                                    Source            = "ic_monetization_on_black_24dp.png",
                                    VerticalOptions   = LayoutOptions.Center,
                                    HorizontalOptions = LayoutOptions.Center,
                                },
                                _ValorEntry
                            }
                        },
                        new StackLayout()
                        {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                new Image()
                                {
                                    Source            = "ic_event_black_24dp.png",
                                    VerticalOptions   = LayoutOptions.Center,
                                    HorizontalOptions = LayoutOptions.Center,
                                },
                                new DatePicker
                                {
                                    IsVisible    = true,
                                    IsEnabled    = true,
                                    WidthRequest = _width,
                                }
                            }
                        },
                        new StackLayout()
                        {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                new Image               {
                                    Source            = "ic_map_black_24dp.png",
                                    VerticalOptions   = LayoutOptions.Start,
                                    HorizontalOptions = LayoutOptions.Center
                                },
                                new StackLayout         {
                                    Orientation       = StackOrientation.Vertical,
                                    VerticalOptions   = LayoutOptions.Start,
                                    HorizontalOptions = LayoutOptions.Start,
                                    Children          =
                                    {
                                        _LocalEntry,
                                        new StackLayout {
                                            Margin            = new Thickness(5,            0),
                                            Orientation       = StackOrientation.Horizontal,
                                            VerticalOptions   = LayoutOptions.Start,
                                            HorizontalOptions = LayoutOptions.Start,
                                            Spacing           = 2,
                                            Children          =
                                            {
                                                _LatitudeLabel,
                                                _LongitudeLabel
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        new StackLayout()
                        {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                new Image               {
                                    Source            = "ic_shopping_cart_black_24dp.png",
                                    VerticalOptions   = LayoutOptions.Center,
                                    HorizontalOptions = LayoutOptions.Center,
                                },
                                _TipoGastoPicker
                            }
                        },
                        new StackLayout                 {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                new Image               {
                                    Source            = "ic_edit_black_24dp.png",
                                    VerticalOptions   = LayoutOptions.Center,
                                    HorizontalOptions = LayoutOptions.Center,
                                },
                                _ObservacaoEntry
                            }
                        },
                        new StackLayout
                        {
                            Orientation = StackOrientation.Horizontal,
                            Children    =
                            {
                                _FotoImage
                            }
                        }
                    }
                }
            };
        }
示例#23
0
        protected virtual void inicializarComponente()
        {
            _GPSSentidoLabel = new Label
            {
                Text     = "0º",
                FontSize = 16,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center
            };
            AbsoluteLayout.SetLayoutBounds(_GPSSentidoLabel, new Rectangle(0.9, 0.12, 0.15, 0.15));
            //AbsoluteLayout.SetLayoutBounds(_PrecisaoLabel, new Rectangle(0.11, 0.12, 0.15, 0.15));
            AbsoluteLayout.SetLayoutFlags(_GPSSentidoLabel, AbsoluteLayoutFlags.All);

            _VelocidadeRadarLabel = new Label
            {
                Text     = "Velocidade",
                FontSize = 16,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center
            };
            if (Device.OS == TargetPlatform.iOS)
            {
            }
            AbsoluteLayout.SetLayoutBounds(_VelocidadeRadarLabel, new Rectangle(1, 0.950, 1, 0.1));
            AbsoluteLayout.SetLayoutFlags(_VelocidadeRadarLabel, AbsoluteLayoutFlags.All);

            _DistanciaRadarLabel = new Label
            {
                Text     = "0 m",
                FontSize = 16,
                //HorizontalTextAlignment = TextAlignment.Center,
                //VerticalTextAlignment = TextAlignment.Center
            };
            //AbsoluteLayout.SetLayoutBounds(_DistanciaRadarLabel, new Rectangle(1, 0.975, 1, 0.1));
            //AbsoluteLayout.SetLayoutFlags(_DistanciaRadarLabel, AbsoluteLayoutFlags.All);


            if (PreferenciaUtils.ExibirBotaoRemover)
            {
                _RemoverRadarButton = new Image
                {
                    Aspect        = Aspect.AspectFit,
                    Source        = ImageSource.FromFile("menos.png"),
                    WidthRequest  = 180,
                    HeightRequest = 180
                };
                AbsoluteLayout.SetLayoutBounds(_RemoverRadarButton, new Rectangle(0.93, 0.975, 0.2, 0.2));
                AbsoluteLayout.SetLayoutFlags(_RemoverRadarButton, AbsoluteLayoutFlags.All);

                _RemoverRadarButton.GestureRecognizers.Add(
                    new TapGestureRecognizer()
                {
                    Command = new Command(() =>
                    {
                        //var regraAviso = new AvisoSonoroBLL();
                        //regraAviso.play(RadarTipoEnum.RadarFixo, 40, 300);
                        //AudioUtils.play(AudioEnum.Alarm001);
                        //MensagemUtils.avisar("teste");
                        //var downloader = new DownloaderAtualizacao();
                        //downloader.download();

                        if (InternetUtils.estarConectado())
                        {
                            LocalizacaoInfo local = GPSUtils.UltimaLocalizacao;
                            float latitude        = (float)local.Latitude;
                            float longitude       = (float)local.Longitude;
                            GeocoderUtils.pegarAsync(latitude, longitude, (sender, e) =>
                            {
                                var endereco = e.Endereco;
                                ClubManagement.Utils.MensagemUtils.avisar(endereco.Logradouro);
                            });
                        }



                        try
                        {
                            LocalizacaoInfo local = GPSUtils.UltimaLocalizacao;
                            if (local != null)
                            {
                                RadarBLL regraRadar = RadarFactory.create();
                                regraRadar.gravar(local, false);
                                MensagemUtils.avisar("Radar incluído com sucesso.");
                            }
                            else
                            {
                                MensagemUtils.avisar("Nenhum movimento registrado pelo GPS.");
                            }
                        }
                        catch (Exception e)
                        {
                            MensagemUtils.avisar(e.Message);
                        }
                    }
                                          )
                });
            }
            if (PreferenciaUtils.ExibirBotaoAdicionar)
            {
                _AdicionarRadarButton = new Image
                {
                    Aspect        = Aspect.AspectFit,
                    Source        = ImageSource.FromFile("mais.png"),
                    WidthRequest  = 180,
                    HeightRequest = 180
                };
                AbsoluteLayout.SetLayoutBounds(_AdicionarRadarButton, new Rectangle(0.93, 0.975, 0.2, 0.2));
                AbsoluteLayout.SetLayoutFlags(_AdicionarRadarButton, AbsoluteLayoutFlags.All);


                if (TelaUtils.Orientacao == "Landscape")
                {
                    AbsoluteLayout.SetLayoutBounds(_AdicionarRadarButton, new Rectangle(1, 0.5, 0.2, 0.2));
                    AbsoluteLayout.SetLayoutFlags(_AdicionarRadarButton, AbsoluteLayoutFlags.All);
                }
                _AdicionarRadarButton.GestureRecognizers.Add(
                    new TapGestureRecognizer()
                {
                    Command = new Command(() =>
                    {
                        //var regraAviso = new AvisoSonoroBLL();
                        //regraAviso.play(RadarTipoEnum.RadarFixo, 40, 300);
                        //AudioUtils.play(AudioEnum.Alarm001);
                        //MensagemUtils.avisar("teste");
                        //var downloader = new DownloaderAtualizacao();
                        //downloader.download();

                        if (InternetUtils.estarConectado())
                        {
                            LocalizacaoInfo local = GPSUtils.UltimaLocalizacao;
                            float latitude        = (float)local.Latitude;
                            float longitude       = (float)local.Longitude;
                            GeocoderUtils.pegarAsync(latitude, longitude, (sender, e) =>
                            {
                                var endereco = e.Endereco;
                                ClubManagement.Utils.MensagemUtils.avisar(endereco.Logradouro);
                            });
                        }



                        try
                        {
                            LocalizacaoInfo local = GPSUtils.UltimaLocalizacao;
                            if (local != null)
                            {
                                RadarBLL regraRadar = RadarFactory.create();
                                regraRadar.gravar(local, false);
                                MensagemUtils.avisar("Radar incluído com sucesso.");
                            }
                            else
                            {
                                MensagemUtils.avisar("Nenhum movimento registrado pelo GPS.");
                            }
                        }
                        catch (Exception e)
                        {
                            MensagemUtils.avisar(e.Message);
                        }
                    }
                                          )
                });
            }


            _BussolaFundo = new Image
            {
                Aspect        = Aspect.AspectFit,
                Source        = ImageSource.FromFile("bussolacorpo.png"),
                WidthRequest  = 180,
                HeightRequest = 180
            };
            AbsoluteLayout.SetLayoutBounds(_BussolaFundo, new Rectangle(0.93, 0, 0.2, 0.2));
            AbsoluteLayout.SetLayoutFlags(_BussolaFundo, AbsoluteLayoutFlags.All);

            _BussolaAgulha = new Image
            {
                Aspect        = Aspect.AspectFit,
                Source        = ImageSource.FromFile("bussolaagulha.png"),
                WidthRequest  = 180,
                HeightRequest = 180
            };
            AbsoluteLayout.SetLayoutBounds(_BussolaAgulha, new Rectangle(0.93, 0, 0.2, 0.2));
            AbsoluteLayout.SetLayoutFlags(_BussolaAgulha, AbsoluteLayoutFlags.All);

            _PrecisaoFundoImage = new Image
            {
                Aspect        = Aspect.AspectFit,
                Source        = ImageSource.FromFile("bussolacorpo.png"),
                WidthRequest  = 180,
                HeightRequest = 180
            };
            AbsoluteLayout.SetLayoutBounds(_PrecisaoFundoImage, new Rectangle(0.07, 0, 0.2, 0.2));
            AbsoluteLayout.SetLayoutFlags(_PrecisaoFundoImage, AbsoluteLayoutFlags.All);

            _PrecisaoImage = new Image
            {
                Aspect        = Aspect.AspectFit,
                Source        = ImageSource.FromFile("sat04.png"),
                WidthRequest  = 180,
                HeightRequest = 180
            };
            AbsoluteLayout.SetLayoutBounds(_PrecisaoImage, new Rectangle(0.11, 0.04, 0.15, 0.15));
            AbsoluteLayout.SetLayoutFlags(_PrecisaoImage, AbsoluteLayoutFlags.All);

            _PrecisaoLabel = new Label
            {
                Text     = "0 m",
                FontSize = 16,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center
            };
            //AbsoluteLayout.SetLayoutBounds(_PrecisaoLabel, new Rectangle(0.1, 0.025, 0.1, 0.1));
            AbsoluteLayout.SetLayoutBounds(_PrecisaoLabel, new Rectangle(0.11, 0.12, 0.15, 0.15));
            AbsoluteLayout.SetLayoutFlags(_PrecisaoLabel, AbsoluteLayoutFlags.All);
        }
示例#24
0
        public static bool simularPercurso(int idPercurso)
        {
            if (_simulando)
            {
                Emagine.Utils.MensagemUtils.avisar("Já existe uma simulação em andamento.");
                return(false);
            }
            PercursoBLL regraPercurso = PercursoFactory.create();

            _percursoSimulado = regraPercurso.pegar(idPercurso);
            _simulando        = true;
            _indexPercuso     = 0;
            _ultimoPonto      = DateTime.MinValue;
            if (_percursoSimulado == null)
            {
                Emagine.Utils.MensagemUtils.avisar("Percurso não encontrado.");
                return(false);
            }
            if (_percursoSimulado.Pontos.Count() == 0)
            {
                MensagemUtils.avisar("Nenhum movimento registrado nesse percurso.");
                return(false);
            }
            //MensagemUtils.notificarPermanente(NOTIFICACAO_SIMULACAO_ID, "Simulando percurso!", string.Empty);
            MensagemUtils.notificarPermanente(
                PercursoBLL.NOTIFICACAO_SIMULACAO_PERCURSO_ID,
                "Radar Club", "Simulando percurso...",
                PercursoBLL.NOTIFICACAO_SIMULACAO_PARAR_PERCURSO_ID,
                "Parar",
                PercursoBLL.ACAO_PARAR_SIMULACAO
                );
            MensagemUtils.avisar("Iniciando simulação!");

            /*
             * var task = Task.Factory.StartNew(() =>
             * {
             *  while (_simulando)
             *  {
             *      if (_indexPercuso < _percursoSimulado.Pontos.Count())
             *      {
             *          PercursoPontoInfo ponto = _percursoSimulado.Pontos[_indexPercuso];
             *
             *                                  LocalizacaoInfo local = new LocalizacaoInfo
             *                                  {
             *                                          Latitude = ponto.Latitude,
             *                                          Longitude = ponto.Longitude,
             *                                          Sentido = ponto.Sentido,
             *                                          Precisao = ponto.Precisao,
             *                                          Tempo = ponto.Data,
             *                                          Velocidade = ponto.Velocidade
             *                                  };
             *                                  //executarPosicao(local);
             *                                  ThreadUtils.RunOnUiThread(() =>
             *                                  {
             *                                          executarPosicao(local);
             *                                  });
             *
             *
             *          if (_ultimoPonto != DateTime.MinValue)
             *          {
             *              TimeSpan delay = ponto.Data.Subtract(_ultimoPonto);
             *              Task.Delay((int)delay.TotalMilliseconds).Wait();
             *              //_ultimoPonto = ponto.Data;
             *          }
             *          _ultimoPonto = ponto.Data;
             *          _indexPercuso++;
             *      }
             *      else {
             *          pararSimulacao();
             *          break;
             *      }
             *  }
             * });
             */
            return(true);
        }
示例#25
0
        public static void CadastrarTransacao(ref UsuarioViewModel usuario)
        {
            string   descricao;
            string   tipo = "";
            int      escolha;
            DateTime dataTransacao;
            double   valor;

            // double saldoNovo;
            // double despesas = 0;
            // double receitas = 0;

            do
            {
                MenuUtils.MenuTipoTransacao();
                escolha = int.Parse(Console.ReadLine());
            } while (escolha != 1 && escolha != 2);

            do
            {
                System.Console.WriteLine("Descreva essa transação:");
                descricao = Console.ReadLine();
                if (string.IsNullOrEmpty(descricao))
                {
                    MensagemUtils.MostrarMensagem("A transação deve conter uma descrição", Cores.ALERTA);
                }
            } while (string.IsNullOrEmpty(descricao));

            do
            {
                System.Console.WriteLine("Digite a data dessa transação:");
                dataTransacao = DateTime.Parse(Console.ReadLine());
            } while (dataTransacao == null);

            do
            {
                System.Console.WriteLine("Digite o valor dessa transação:");
                System.Console.Write("R$");
                valor = double.Parse(Console.ReadLine());
            } while (valor <= 0);

            switch (escolha)
            {
            case 1:
                tipo = "DESPESA";
                // despesas += valor;
                break;

            case 2:
                tipo = "RECEITA";
                // receitas += valor;
                break;
            }
            // saldoNovo = receitas - despesas;

            TransacaoViewModel transacao = new TransacaoViewModel();

            transacao.Tipo          = tipo;
            transacao.Descricao     = descricao;
            transacao.DataTransacao = dataTransacao;
            transacao.Valor         = valor;
            // usuario.Saldo = saldoNovo;
            transacao.Nome = usuario.Nome;

            transacaoRepositorio.InserirTransacao(transacao);
            transacaoRepositorio.MudarSaldo(usuario, transacao);

            MensagemUtils.MostrarMensagem("Transação cadastrada com sucesso!", Cores.SUCESSO);
        }