예제 #1
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);
        }
예제 #2
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);
        }
예제 #3
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);
        }