Example #1
0
        private static string GetProxima(EvenDistri evento)
        {
            var proxima = string.Empty;

            if (evento.LogMensaje.Mensaje.Codigo == MessageCode.CicloLogisticoIniciado.GetMessageCode())
            {
                var primerEntrega = evento.Viaje.Detalles.FirstOrDefault(d => d.Linea == null);
                if (primerEntrega != null)
                {
                    proxima = primerEntrega.Descripcion;
                }
            }
            else if (evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplido.GetMessageCode() ||
                     evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplidoEntrada.GetMessageCode() ||
                     evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplidoManual.GetMessageCode() ||
                     evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplidoManualRealizado.GetMessageCode() ||
                     evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplidoManualNoRealizado.GetMessageCode() ||
                     evento.LogMensaje.Mensaje.Codigo == MessageCode.EstadoLogisticoCumplidoSalida.GetMessageCode())
            {
                if (evento.Entrega != null)
                {
                    var entregas = evento.Viaje.Detalles;
                    var orden    = evento.Entrega.Orden;
                    var prox     = orden < entregas.Count()
                                ? entregas.FirstOrDefault(e => e.Orden == evento.Entrega.Orden + 1)
                                : null;
                    if (prox != null)
                    {
                        proxima = prox.Descripcion;
                    }
                }
            }

            return(proxima);
        }
Example #2
0
        private void GuardarEvento(LogMensaje log)
        {
            var t = new TimeElapsed();

            DaoFactory.LogMensajeDAO.Save(log);
            var totalSeconds = t.getTimeElapsed().TotalSeconds;

            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("GuardarEvento/LogMensajeDAO.Save ({0} secs)", totalSeconds));
            }

            if (log.Viaje == null && log.Entrega == null)
            {
                return;
            }

            t.Restart();
            var evenDistri = new EvenDistri
            {
                LogMensaje = log,
                Fecha      = log.Fecha,
                Entrega    = log.Entrega,
                Viaje      = log.Viaje ?? log.Entrega.Viaje
            };

            DaoFactory.EvenDistriDAO.Save(evenDistri);

            totalSeconds = t.getTimeElapsed().TotalSeconds;
            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("GuardarEvento/EvenDistriDAO.Save ({0} secs)", totalSeconds));
            }
        }
Example #3
0
        private static string GetRowText(EvenDistri mensaje)
        {
            const string template = "<table o='{9}' style='background-color:#{7};color:#{8};'><tr><td style='width: 100px; align: left;'>{0} {1}</td><td style='width: 90px; align: left;'>{2}</td><td style='width: 120px; align: left;'>{3}</td><td style='width: 80px; align: left;'>{4}</td><td style='width: 80px; align: left;'>{5}</td><td style='width: 80px; align: left;'>{6}</td></tr></table>";
            var          evento   = mensaje.LogMensaje;

            var fecha   = evento.Fecha.ToDisplayDateTime();
            var estado  = GetEstado(evento);
            var viaje   = mensaje.Viaje;
            var entrega = mensaje.Entrega;
            var proxima = GetProxima(mensaje);

            return(string.Format(template,
                                 fecha.ToString("dd-MM"),
                                 fecha.ToString("HH:mm:ss"),
                                 evento.Coche.Interno + " - (" + evento.Coche.Patente + ")",
                                 viaje.Codigo,
                                 entrega != null ? entrega.Descripcion : string.Empty,
                                 estado,
                                 proxima,
                                 "DDDDDD",
                                 "000000",
                                 fecha.ToString("yyyyMMddHHmmss")));
        }
Example #4
0
        private static string GetRow(EvenDistri mensaje)
        {
            const string template = "\"{0}\"";

            return(string.Format(template, GetRowText(mensaje)));
        }
Example #5
0
        private void GenerarEventoResponsable(LogMensaje log)
        {
            if (log.Entrega == null || log.Entrega.PuntoEntrega == null)
            {
                return;
            }
            var empleado = log.Entrega.PuntoEntrega.Responsable;

            if (empleado == null)
            {
                return;
            }
            var coche = DaoFactory.CocheDAO.FindByChofer(empleado.Id);

            if (coche == null)
            {
                return;
            }

            var newEvent = new LogMensaje
            {
                Coche              = coche,
                Chofer             = empleado,
                CodigoMensaje      = log.CodigoMensaje,
                Dispositivo        = coche.Dispositivo,
                Entrega            = log.Entrega,
                Estado             = log.Estado,
                Expiracion         = log.Expiracion,
                Fecha              = log.Fecha,
                FechaAlta          = DateTime.UtcNow,
                FechaFin           = log.FechaFin,
                IdCoche            = coche.Id,
                IdPuntoDeInteres   = log.IdPuntoDeInteres,
                Latitud            = log.Latitud,
                LatitudFin         = log.LatitudFin,
                Longitud           = log.Longitud,
                LongitudFin        = log.LongitudFin,
                Mensaje            = log.Mensaje,
                Texto              = "INFORME DE: " + log.Texto,
                TieneFoto          = log.TieneFoto,
                Usuario            = log.Usuario,
                VelocidadAlcanzada = log.VelocidadAlcanzada,
                VelocidadPermitida = log.VelocidadPermitida,
                Viaje              = log.Viaje,
                Zona = log.Zona
            };

            DaoFactory.LogMensajeDAO.Save(newEvent);

            if (newEvent.Viaje == null && newEvent.Entrega == null)
            {
                return;
            }

            var evenDistri = new EvenDistri
            {
                LogMensaje = newEvent,
                Fecha      = newEvent.Fecha,
                Entrega    = newEvent.Entrega,
                Viaje      = newEvent.Viaje ?? newEvent.Entrega.Viaje
            };

            DaoFactory.EvenDistriDAO.Save(evenDistri);
        }