Esempio n. 1
0
        public GpsServiceResponse StartUp(CancellationToken cancellationToken)
        {
            var response = new GpsServiceResponse();

            try
            {
                Token = cancellationToken;

                // Obtenemos la latencia.
                var latency = _driver.GetLatency();
                if (!latency.Success)
                {
                    throw new InvalidOperationException(latency.ErrorMessage);
                }

                _lastLatency = latency.NumberOfSeconds;

                // Inicializamos el Timer con la cantidad de segundos por mil
                // ya que se tiene que expresar en milisegundos.

                _timer = new Timer(ElapsedTime, this, 0, _lastLatency * 1000);

                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }
Esempio n. 2
0
        public GpsServiceResponse ShutDown()
        {
            var response = new GpsServiceResponse();

            try
            {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, nameof(StopLongRunningTaskMessage));
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }