private LogUltimoLogin UpdateLogin(LogUltimoLoginVo lastLogin, LogMensajeBase login) { var log = DaoFactory.LogUltimoLoginDAO.FindById(lastLogin.Id); log.Latitud = login.Latitud; log.Longitud = login.Longitud; log.Dispositivo = login.Dispositivo; log.Horario = login.Horario; log.DetalleHorario = login.DetalleHorario; log.Usuario = login.Usuario; log.Fecha = login.Fecha; log.Texto = login.Texto; log.Coche = login.Coche; log.Accion = login.Accion; log.Chofer = login.Chofer; log.Expiracion = login.Expiracion; log.Estado = login.Estado; log.Mensaje = login.Mensaje; log.FechaFin = login.FechaFin; log.LatitudFin = login.LatitudFin; log.LongitudFin = login.LongitudFin; log.VelocidadPermitida = login.VelocidadPermitida; log.VelocidadAlcanzada = login.VelocidadAlcanzada; log.IdPuntoDeInteres = login.IdPuntoDeInteres; return(log); }
/// <summary> /// Gets a mobile position based on the givenn vehicle, position and rfid. /// </summary> /// <param name="mobile"></param> /// <param name="lastPosition"></param> /// <param name="lastRfid"></param> public MobilePosition(Coche mobile, LogUltimaPosicionVo lastPosition, LogUltimoLoginVo lastRfid) { Dispositivo = lastPosition != null ? lastPosition.Dispositivo : mobile.Dispositivo != null ? mobile.Dispositivo.Codigo : string.Empty; Interno = mobile.Interno; Patente = mobile.Patente; Fecha = lastPosition != null ? lastPosition.FechaMensaje : (DateTime?)null; IdDispositivo = lastPosition != null ? lastPosition.IdDispositivo : mobile.Dispositivo != null ? mobile.Dispositivo.Id : 0; IdDispositivoCoche = mobile.Dispositivo != null ? mobile.Dispositivo.Id : 0; FechaAlta = lastPosition != null ? lastPosition.FechaRecepcion : (DateTime?)null; Latitud = lastPosition != null ? lastPosition.Latitud : 0; Longitud = lastPosition != null ? lastPosition.Longitud : 0; Responsable = lastPosition != null ? lastPosition.Responsable : string.Empty; IdMovil = mobile.Id; IdBase = mobile.Linea != null ? mobile.Linea.Id : 0; Velocidad = lastPosition != null ? lastPosition.Velocidad : -1; IdPosicion = lastPosition != null ? lastPosition.Id : 0; //Firmware = lastPosition != null ? lastPosition.Firmware : mobile.Dispositivo != null ? mobile.Dispositivo.FullFirmwareVersion : string.Empty; ReferenciaVehiculo = mobile.Referencia; TipoDispositivo = lastPosition != null ? lastPosition.TipoDispositivo : mobile.Dispositivo != null?GetDeviceTypeDescription(mobile.Dispositivo) : string.Empty; EstadoReporte = lastPosition != null ? lastPosition.EstadoReporte : 4; Distrito = GetDistrito(mobile); Base = GetBase(mobile); Transportista = GetTransportista(mobile); TipoVehiculo = mobile.TipoCoche.Descripcion; IdDistrito = mobile.Empresa != null ? mobile.Empresa.Id : 0; //Qtree = lastPosition != null ? lastPosition.Qtree : string.Empty; Chofer = lastRfid != null ? lastRfid.Chofer : string.Empty; UltimoLogin = lastRfid != null && lastRfid.Fecha.HasValue ? lastRfid.Fecha.Value : (DateTime?)null; CentroDeCosto = mobile.CentroDeCostos != null ? mobile.CentroDeCostos.Descripcion : string.Empty; }
private void SetLastLogin(LogMensajeBase lastLogin) { var lastLoginVo = new LogUltimoLoginVo(lastLogin); Coche.StoreLastLogin(lastLoginVo); Dispositivo.StoreLastLogin(lastLoginVo); }
private void UpdateLastLogin(LogUltimoLoginVo lastLogin, LogMensajeBase login) { var log = GetNewLastLogin(lastLogin, login); if (lastLogin == null) { DaoFactory.LogUltimoLoginDAO.Save(log); } else { DaoFactory.LogUltimoLoginDAO.Update(log); } SetLastLogin(log); }
/// <summary> /// Gets a mobile position based on the givenn vehicle, position and rfid. /// </summary> /// <param name="dispositivo"></param> /// <param name="coche"></param> /// <param name="lastPosition"></param> /// <param name="lastRfid"></param> public MobilePosition(Dispositivo dispositivo, Coche coche, LogUltimaPosicionVo lastPosition, LogUltimoLoginVo lastRfid) { Dispositivo = dispositivo.Codigo; Interno = coche != null ? coche.Interno : null; Patente = coche != null ? coche.Patente : null; Fecha = lastPosition != null ? lastPosition.FechaMensaje : (DateTime?)null; IdDispositivo = dispositivo.Id; IdDispositivoCoche = coche != null && coche.Dispositivo != null ? coche.Dispositivo.Id : 0; FechaAlta = lastPosition != null ? lastPosition.FechaRecepcion : (DateTime?)null; Latitud = lastPosition != null ? lastPosition.Latitud : 0; Longitud = lastPosition != null ? lastPosition.Longitud : 0; Responsable = lastPosition != null ? lastPosition.Responsable : string.Empty; IdMovil = coche != null ? coche.Id : 0; IdBase = dispositivo.Linea != null ? dispositivo.Linea.Id : 0; Velocidad = lastPosition != null ? lastPosition.Velocidad : -1; IdPosicion = lastPosition != null ? lastPosition.Id : 0; //Firmware = dispositivo.FullFirmwareVersion; ReferenciaVehiculo = coche != null ? coche.Referencia : string.Empty; TipoDispositivo = GetDeviceTypeDescription(dispositivo); EstadoReporte = lastPosition != null ? lastPosition.EstadoReporte : 4; Distrito = coche != null?GetDistrito(coche) : GetDistrito(dispositivo); Base = coche != null?GetBase(coche) : GetBase(dispositivo); Transportista = GetTransportista(coche); TipoVehiculo = coche != null ? coche.TipoCoche.Descripcion : string.Empty; IdDistrito = dispositivo.Empresa != null ? dispositivo.Empresa.Id : 0; //Qtree = dispositivo.QtreeRevision; Chofer = lastRfid != null ? lastRfid.Chofer : string.Empty; UltimoLogin = lastRfid != null && lastRfid.Fecha.HasValue ? lastRfid.Fecha.Value : (DateTime?)null; CentroDeCosto = lastPosition != null ? lastPosition.CentroDeCosto : string.Empty; }
/// <summary> /// Stores in cache the givenn message as the vehicles last login. /// </summary> /// <param name="message"></param> public virtual void StoreLastLogin(LogUltimoLoginVo message) { this.Store("lastLogin", message); }
/// <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); }
/// <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); }
private Empleado GetDriverForLogin(IMessage generico, LogUltimoLoginVo lastLogin, IEquatable <string> code) { return(code.Equals(MessageCode.RfidDriverLogout.GetMessageCode()) && lastLogin != null && lastLogin.IdChofer > 0 ? DaoFactory.EmpleadoDAO.FindById(lastLogin.IdChofer) : GetChoferForLogin(generico.GetRiderId())); }
private LogUltimoLogin GetNewLastLogin(LogUltimoLoginVo lastLogin, LogMensajeBase login) { return(lastLogin == null ? new LogUltimoLogin(login) : UpdateLogin(lastLogin, login)); }