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; }
/// <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 }); }
/// <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(); } }
/// <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); }
/// <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); }
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; }