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); }
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)); } }
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"))); }
private static string GetRow(EvenDistri mensaje) { const string template = "\"{0}\""; return(string.Format(template, GetRowText(mensaje))); }
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); }