public MobilePositionDetailVo(MobilePosition mobilePosition)
        {
            var dao = new DAOFactory();

            this.mobilePosition = mobilePosition;
            FechaAlta           = mobilePosition.FechaAlta;
            Fecha                  = mobilePosition.Fecha;
            Velocidad              = mobilePosition.Velocidad.Equals(-1) ? string.Empty : mobilePosition.Velocidad.ToString("#0");
            Interno                = mobilePosition.Interno;
            TipoVehiculo           = mobilePosition.TipoVehiculo;
            EstadoMovil            = mobilePosition.EstadoMovil;
            Distrito               = mobilePosition.Distrito;
            Base                   = mobilePosition.Base;
            ReferenciaVehiculo     = mobilePosition.ReferenciaVehiculo;
            Responsable            = mobilePosition.Responsable;
            Chofer                 = mobilePosition.Chofer;
            UltimoLogin            = mobilePosition.UltimoLogin;
            TiempoDesdeUltimoLogin = mobilePosition.TiempoDesdeUltimoLogin;
            Dispositivo            = mobilePosition.Dispositivo;
            TipoDispositivo        = mobilePosition.TipoDispositivo;
            Firmware               = dao.DetalleDispositivoDAO.GetFullFirmwareVersionValue(dao.DispositivoDAO.FindById((mobilePosition.IdDispositivo)));
            Qtree                  = dao.DetalleDispositivoDAO.GetQtreeRevisionNumberValue(mobilePosition.IdDispositivo);
            EstadoDispositivo      = mobilePosition.EstadoDispositivo;
            IdMovil                = mobilePosition.IdMovil;
            IdDistrito             = mobilePosition.IdDistrito;
            IdBase                 = mobilePosition.IdBase;
            IdPosicion             = mobilePosition.IdPosicion;
            IdDispositivo          = mobilePosition.IdDispositivo;
        }
Beispiel #2
0
 /// <summary>
 /// Get s amobile position.
 /// </summary>
 /// <param name="coche"></param>
 /// <param name="dispositivo"></param>
 /// <param name="lastPosition"></param>
 /// <param name="lastRfid"></param>
 /// <returns></returns>
 private static MobilePosition GetPosition(Coche coche, Dispositivo dispositivo, LogPosicionBase lastPosition, LogMensajeBase lastRfid)
 {
     return(new MobilePosition
     {
         Dispositivo = dispositivo.Codigo,
         Interno = coche.Interno,
         Fecha = lastPosition.FechaMensaje.ToDisplayDateTime(),
         IdDispositivo = dispositivo.Id,
         FechaAlta = lastPosition.FechaRecepcion.ToDisplayDateTime(),
         Latitud = lastPosition.Latitud,
         Longitud = lastPosition.Longitud,
         Responsable = coche.Chofer != null ? coche.Chofer.Entidad.Descripcion : string.Empty,
         IdMovil = coche.Id,
         IdBase = coche.Linea != null ? coche.Linea.Id : 0,
         Velocidad = lastPosition.Velocidad,
         IdPosicion = lastPosition.Id,
         //Firmware = dispositivo.FullFirmwareVersion,
         EstadoMovil = GetStatusDescription(coche.Estado),
         EstadoDispositivo = GetStatusDescription(dispositivo.Estado),
         ReferenciaVehiculo = coche.Referencia,
         TipoDispositivo = GetDeviceTypeDescription(dispositivo),
         EstadoReporte = GetReportStatus(lastPosition),
         Distrito = MobilePosition.GetDistrito(coche),
         Base = MobilePosition.GetBase(coche),
         TipoVehiculo = coche.TipoCoche.Descripcion,
         IdDistrito = coche.Empresa != null ? coche.Empresa.Id : 0,
         //Qtree = dispositivo.QtreeRevision,
         Chofer = lastRfid != null ? lastRfid.Chofer != null ? lastRfid.Chofer.Entidad.Descripcion : string.Empty : string.Empty,
         UltimoLogin = lastRfid != null?lastRfid.Fecha.ToDisplayDateTime() : DateTime.MinValue
     });
 }
Beispiel #3
0
 /// <summary>
 /// Converts to display datetime the dates of the givenn position.
 /// </summary>
 /// <param name="position"></param>
 private static void UpdateDates(MobilePosition position)
 {
     if (position.Fecha.HasValue)
     {
         position.Fecha = position.Fecha.Value.ToDisplayDateTime();
     }
     if (position.FechaAlta.HasValue)
     {
         position.FechaAlta = position.FechaAlta.Value.ToDisplayDateTime();
     }
     if (position.UltimoLogin.HasValue)
     {
         position.UltimoLogin = position.UltimoLogin.Value.ToDisplayDateTime();
     }
 }
Beispiel #4
0
        /// <summary>
        /// Gets the last vehicle position.
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="lastPosition"></param>
        /// <param name="lastRfid"></param>
        /// <returns></returns>
        private static MobilePosition GetLastPosition(Coche mobile, LogUltimaPosicionVo lastPosition, LogUltimoLoginVo lastRfid)
        {
            var position = new MobilePosition(mobile, lastPosition, lastRfid);

            UpdateDates(position);

            position.EstadoMovil = GetStatusDescription(mobile.Estado);

            if (lastPosition != null)
            {
                position.EstadoDispositivo = GetStatusDescription(lastPosition.EstadoDispositivo);
            }

            return(position);
        }
Beispiel #5
0
        /// <summary>
        /// Gets the last device position.
        /// </summary>
        /// <param name="device"></param>
        /// <param name="lastPosition"></param>
        /// <param name="lastRfid"></param>
        /// <returns></returns>
        private MobilePosition GetLastPosition(Dispositivo device, LogUltimaPosicionVo lastPosition, LogUltimoLoginVo lastRfid)
        {
            var coche = lastPosition != null?DAOFactory.CocheDAO.FindById(lastPosition.IdCoche) : DAOFactory.CocheDAO.FindMobileByDevice(device.Id);

            var position = new MobilePosition(device, coche, lastPosition, lastRfid);

            UpdateDates(position);

            if (lastPosition != null)
            {
                position.EstadoMovil       = GetStatusDescription(coche.Estado);
                position.EstadoDispositivo = GetStatusDescription(lastPosition.EstadoDispositivo);
            }

            return(position);
        }
Beispiel #6
0
        public MobilePositionVo(MobilePosition mobilePosition)
        {
            var dao = new DAOFactory();

            this.mobilePosition = mobilePosition;
            Interno             = mobilePosition.Interno;
            EstadoReporte       = mobilePosition.EstadoReporte;
            TipoDispositivo     = mobilePosition.TipoDispositivo;
            Firmware            = dao.DetalleDispositivoDAO.GetFullFirmwareVersionValue(dao.DispositivoDAO.FindById(mobilePosition.IdDispositivo));
            Qtree             = dao.DetalleDispositivoDAO.GetQtreeRevisionNumberValue(mobilePosition.IdDispositivo);
            EstadoDispositivo = mobilePosition.EstadoDispositivo;
            Distrito          = mobilePosition.Distrito;
            Base          = mobilePosition.Base;
            Fecha         = mobilePosition.Fecha;
            Velocidad     = mobilePosition.Velocidad.Equals(-1) ? string.Empty : mobilePosition.Velocidad.ToString("#0");
            IdDispositivo = mobilePosition.IdDispositivo;
            Dispositivo   = mobilePosition.Dispositivo;
            IdMovil       = mobilePosition.IdMovil;
        }
        /// <summary>
        /// Displays the last position reported by the givenn mobile or device.
        /// </summary>
        /// <param name="lastPosition"></param>
        private void DisplayPosition(MobilePosition lastPosition)
        {
            var id        = lastPosition.IdPosicion.ToString();
            var latitude  = lastPosition.Latitud;
            var longitude = lastPosition.Longitud;

            var popup = string.Format("javascript:gPP('{0}','{1}','{2}','{3}','{4}','{5}')", lastPosition.EsquinaCercana, lastPosition.Interno, lastPosition.Responsable,
                                      lastPosition.Dispositivo, string.Concat(lastPosition.Fecha.Value.ToShortDateString(), "", lastPosition.Fecha.Value.TimeOfDay.ToString()), lastPosition.Velocidad);

            var marker = new Marker(id, CurrentPositionImgUrl, latitude, longitude, popup, DrawingFactory.GetSize(21, 25), DrawingFactory.GetOffset(-10.5, -25));

            Monitor.AddMarkers(_posicion, marker);

            Monitor.SetCenter(latitude, longitude);

            Monitor.SetDefaultCenter(latitude, longitude);

            Monitor.TriggerEvent(id, _posicion, PopupEvent);
        }
        /// <summary>
        /// Searchs route positions filtered by the selected search criteria.
        /// </summary>
        private void SearchPosition()
        {
            MobilePosition lastPosition = null;

            if (Mobile > 0)
            {
                lastPosition = ReportFactory.MobilePositionDAO.GetMobileLastPosition(DAOFactory.CocheDAO.FindById(Mobile));
            }
            else if (Device > 0)
            {
                var coche = DAOFactory.CocheDAO.FindMobileByDevice(Device);
                if (coche != null)
                {
                    lastPosition = ReportFactory.MobilePositionDAO.GetMobileLastPosition(coche);
                }
            }

            if (lastPosition == null)
            {
                return;
            }

            DisplayPosition(lastPosition);
        }
        public MobilePositionVehicleVo(MobilePosition mobilePosition)
        {
            _mobilePosition    = mobilePosition;
            IdMovil            = mobilePosition.IdMovil;
            IdDispositivo      = mobilePosition.IdDispositivo;
            IdDispositivoCoche = mobilePosition.IdDispositivoCoche;
            EstadoReporte      = mobilePosition.EstadoReporte;
            EstadoStr          = GetReportStatusDescription(EstadoReporte);

            var interno = mobilePosition.Interno;
            var patente = mobilePosition.Patente;

            VehiculoId = (!string.IsNullOrEmpty(interno) ? interno + "|" : string.Empty) +
                         (!string.IsNullOrEmpty(patente) ? patente : string.Empty);

            var coche        = new DAOFactory().CocheDAO.FindById(mobilePosition.IdMovil);
            var cocheModelo  = coche.Modelo != null ? coche.Modelo.Descripcion : string.Empty;
            var cocheAno     = coche.AnioPatente.ToString("#0");
            var tipoVehiculo = mobilePosition.TipoVehiculo;

            Vehiculo = (!string.IsNullOrEmpty(tipoVehiculo) ? tipoVehiculo + (!string.IsNullOrEmpty(cocheModelo) || !string.IsNullOrEmpty(cocheAno) ? "|" : string.Empty) : string.Empty);
            if (!string.IsNullOrEmpty(cocheModelo))
            {
                Vehiculo += cocheModelo + " (" + cocheAno + ")";
            }
            EstadoMovil = mobilePosition.EstadoMovil;

            var ubicacionDistrito      = mobilePosition.Distrito;
            var ubicacionBase          = mobilePosition.Base;
            var ubicacionTransportista = mobilePosition.Transportista;

            Ubicacion = (!string.IsNullOrEmpty(ubicacionDistrito) ? ubicacionDistrito : string.Empty);
            if (!string.IsNullOrEmpty(ubicacionBase))
            {
                Ubicacion += (!string.IsNullOrEmpty(ubicacionDistrito) ? "|" : string.Empty) + ubicacionBase;
            }
            if (!string.IsNullOrEmpty(ubicacionTransportista))
            {
                Ubicacion += (!string.IsNullOrEmpty(ubicacionTransportista) ? "|" : string.Empty) + ubicacionTransportista;
            }

            CcReferenciaResponsableVehiculo = mobilePosition.CentroDeCosto + "|" + mobilePosition.ReferenciaVehiculo + "|" + mobilePosition.Responsable;

            var chofer      = mobilePosition.Chofer;
            var ultimoLogin = (string)null;

            if (mobilePosition.UltimoLogin != null)
            {
                ultimoLogin = (((DateTime)mobilePosition.UltimoLogin).ToDisplayDateTime().ToString());
            }

            var ultimoChoferLogin = (!string.IsNullOrEmpty(chofer) ? chofer : string.Empty);

            UltimoChoferLogin = ultimoChoferLogin + (!string.IsNullOrEmpty(ultimoLogin) ? "|" : string.Empty) + ultimoLogin;

            Dispositivo            = mobilePosition.Dispositivo;
            Fecha                  = mobilePosition.Fecha;
            Velocidad              = mobilePosition.Velocidad.Equals(-1) ? string.Empty : mobilePosition.Velocidad.ToString("#0");
            TiempoDesdeUltimoLogin = mobilePosition.TiempoDesdeUltimoLogin;
            TiempoAUltimoLogin     = TiempoDesdeUltimoLogin.ToString();

            var dd = FechaLastPacketReceivedAt;

            LastPacketReceivedAt = dd.HasValue ? FechaLastPacketReceivedAt.Value.ToDisplayDateTime() : mobilePosition.Fecha;

            // Get from cache the Status of the Garmin device attached to the vehicle
            var garminStatus = GetCachedDeviceProperty(mobilePosition.IdDispositivo, "GarminConnected");

            GarminStatus = !string.IsNullOrEmpty(garminStatus) && garminStatus != "GARMINCONNECTED_NOTCONFIGURED"
                                ? CultureManager.GetLabel(garminStatus) : null;
        }