public RetrasoVo(ICicloLogistico cicloLogistico, DateTime fecha) { Codigo = cicloLogistico.Codigo; Coche = cicloLogistico.Interno; Cliente = cicloLogistico.Cliente; PuntoDeEntrega = cicloLogistico.PuntoEntrega; Telefono = cicloLogistico.Telefono; Inicio = cicloLogistico.Iniciado.ToDisplayDateTime().ToString("dd/MM/yyyy HH:mm"); TiempoEnCiclo = fecha.Subtract(cicloLogistico.Iniciado); Atraso = cicloLogistico.EnGeocercaDesde.HasValue ? fecha.Subtract(cicloLogistico.EnGeocercaDesde.Value) : new TimeSpan(0, 0, 0); }
public static void Process(Coche vehiculo, IEvent data, bool ignoreMessages) { try { if (vehiculo.Dispositivo == null) { return; } var daoFactory = new DAOFactory(); var messageSaver = ignoreMessages ? null : new MessageSaver(daoFactory); ICicloLogistico ciclo = null; var garmin = data as GarminEvent; if (garmin != null && garmin.DetailId > 0) { var detailId = Convert.ToInt32(garmin.DetailId); var entrega = daoFactory.EntregaDistribucionDAO.FindById(detailId); if (entrega == null) { STrace.Error(typeof(CicloLogisticoFactory).FullName, detailId, "No se ha encontrado una distribucion para el vehiculo (" + garmin.DetailId.ToString("#0") + ")"); } else { if (entrega.Viaje == null) { STrace.Error(typeof(CicloLogisticoFactory).FullName, detailId, "No se ha encontrado el ticket para la entrega (" + entrega.Id + ")"); } else { var ticket = entrega.Viaje; ciclo = new CicloLogisticoDistribucion(ticket, daoFactory, messageSaver); } } } else { ciclo = GetCiclo(vehiculo, messageSaver, daoFactory); } if (ciclo == null) { return; } ciclo.ProcessEvent(data); } catch (Exception ex) { STrace.Exception(typeof(CicloLogisticoFactory).FullName, ex); } }