public static Lectura UltimoEnRonda(Lectura l, TPunto p) { // comprobamos si la ronda esta completa PuntosSinControl psc = PuntosNoControlados(Estado.Ronda); // Cogemos el último punto de verdad int ultindex = Estado.Ronda.RondasPuntos.Count - 1; TRondaPunto urp = Estado.Ronda.RondasPuntos[ultindex]; if (urp.Punto.puntoId == p.puntoId) { // es el útimo punto l.ObsAuto = "FINAL DE RONDA." + l.ObsAuto; if (psc.pos >= 0) { // hay puntos sin controlar i el siguiente viene en pos l.InAuto = "INCIDENCIA"; l.ObsAuto = "Ronda sin completar, faltan los puntos de control " + psc.lista + ". Pulsa <Volver> para realizar las lecturas pendientes Pulsar <Continuar> para forzar el cierre de la Ronda sin completar."; Estado.RondaPuntoEsperado = Estado.Ronda.RondasPuntos[psc.pos]; l.Status = 3; } else { Estado.Ronda = null; Estado.RondaPuntoEsperado = null; Estado.Orden = 0; } } else { if (psc.pos >= 0) { if (l.Status == 0) { // no es el útimo (ponemos como siguiente el no controlado) Estado.Orden = psc.pos; Estado.RondaPuntoEsperado = Estado.Ronda.RondasPuntos[psc.pos]; } } else { // la ronda en realidad está completa l.ObsAuto = "FINAL DE RONDA. " + "Ha controlado todos los puntos de la ronda activa"; Estado.Ronda = null; Estado.RondaPuntoEsperado = null; Estado.Orden = 0; } } return(l); }
public static PuntosSinControl PuntosNoControlados(TRonda r) { PuntosSinControl psc = new PuntosSinControl(); int pos = -1; string lista = ""; for (int i = 0; i < r.RondasPuntos.Count; i++) { TRondaPunto rp = r.RondasPuntos[i]; if (!rp.Controlado) { if (pos == -1) { pos = i; } lista += "[" + rp.Punto.nombre + "]"; } } psc.pos = pos; psc.lista = lista; return(psc); }
public static PuntosSinControl PuntosNoControlados(TRonda r) { PuntosSinControl psc = new PuntosSinControl(); int pos = -1; string lista = ""; for (int i = 0; i < r.RondasPuntos.Count; i++) { TRondaPunto rp = r.RondasPuntos[i]; if (!rp.Controlado) { if (pos == -1) pos = i; lista += "[" + rp.Punto.nombre + "]"; } } psc.pos = pos; psc.lista = lista; return psc; }