Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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;
 }