Ejemplo n.º 1
0
        private void mnuCancelar_Click(object sender, EventArgs e)
        {
            // salvamos la descarga y el status
            TDescargaLinea dl     = this.lec.DescargaLinea;
            int            status = this.lec.Status;

            // grabamos incidencias y observaciones
            if (cmbIncidencias.SelectedItem != null)
            {
                dl.incidenciaId = ((TIncidencia)cmbIncidencias.SelectedItem).incidenciaId;
            }
            dl.observaciones = txtObsMan.Text;
            if (status != 2)
            {
                // siempre se graba si le dan continuar
                // excepto en ronda mal leida (status 2)
                SqlCeConnection conn = CntCN50.TSqlConnection();
                CntCN50.TOpen(conn);
                CntCN50.SetDescargaLinea(dl, conn);
                CntCN50.TClose(conn);
                // controlamos que se ha leido un final de ronda pero quedaban puntos sin controlar
                if (status == 3)
                {
                    // no hay que hacer nada, ya tiene como punto siguiente el último no controlado.
                }
                if (status == 1)
                {
                    // punto fuera de secuencia pero en la ronda
                    // hay que desmarcarlo como leido (Issue #SGUARD-63)
                    if (dl.tipo == "PUNTO")
                    {
                        TPunto p = new TPunto();
                        p.puntoId = dl.tipoId;
                        CntLecturas.DesmarcarControlado(Estado.Ronda, p);
                    }
                }
            }
            else
            {
                // el status es 2 y hay que recuperar los datos de la ronda anterior.
                Estado.Ronda = Estado.Ronda2;
                Estado.RondaPuntoEsperado = Estado.RondaPuntoEsperado2;
                Estado.Orden = Estado.Orden2;
            }
            LeerCodigo lc = new LeerCodigo();

            lc.Show();
            this.Close();
        }
Ejemplo n.º 2
0
        private void mnuAceptar_Click(object sender, EventArgs e)
        {
            // salvamos la descarga y el status
            TDescargaLinea dl     = this.lec.DescargaLinea;
            int            status = this.lec.Status;

            // grabamos incidencias y observaciones
            if (cmbIncidencias.SelectedItem != null)
            {
                dl.incidenciaId = ((TIncidencia)cmbIncidencias.SelectedItem).incidenciaId;
            }
            dl.observaciones = txtObsMan.Text;
            // siempre se graba si le dan continuar
            SqlCeConnection conn = CntCN50.TSqlConnection();

            CntCN50.TOpen(conn);
            CntCN50.SetDescargaLinea(dl, conn);
            CntCN50.TClose(conn);
            // control de status
            if (status == 1)
            {
                // quiere que el siguiente punto se corresponda con el siguiente al realmente leido
                for (int i = 0; i < Estado.Ronda.RondasPuntos.Count; i++)
                {
                    TRondaPunto rp = Estado.Ronda.RondasPuntos[i];
                    if (dl.tipo == "PUNTO" && dl.tipoId == rp.Punto.puntoId)
                    {
                        Estado.Orden = i + 1;
                        Estado.RondaPuntoEsperado = Estado.Ronda.RondasPuntos[Estado.Orden];
                    }
                }
            }
            if (status == 3)
            {
                // Ha leido un final de ronda con puntos sin controlar y quiere cerrar si o si.
                Estado.Ronda = null;
                Estado.RondaPuntoEsperado = null;
                Estado.Orden = 0;
            }
            LeerCodigo lc = new LeerCodigo();

            lc.Show();
            this.Close();
        }