private void BFichaAbonado_Click(object sender, EventArgs e)
        {
            consultaFichaAbonadocs consultaFichaAbonadocs = new consultaFichaAbonadocs(3);

            consultaFichaAbonadocs.ShowDialog();

            if (consultaFichaAbonadocs.FichaAbonado != null)
            {
                fichaAbonado = consultaFichaAbonadocs.FichaAbonado;
                Fill();
            }
        }
        public CrearFichaAbonado(FichaAbonado ficha = null, int op = 1)
        {
            InitializeComponent();
            ajustarPantalla();

            this.op = op;

            if (ficha != null)
            {
                bAceptar.Text = "Actualizar ficha de abonado";
            }

            fichaAbonado = ficha;

            tEmpresaInstaladora.SelectedText = "Near Systems & Solutions, S.L.";
            tTipoPanel.SelectedText          = "Ajax";

            dgZonas.ColumnCount        = 4;
            dgZonas.Columns[0].Name    = "Zona";
            dgZonas.Columns[1].Name    = "Area";
            dgZonas.Columns[2].Name    = "Descripcion de zona";
            dgZonas.Columns[3].Name    = "id";
            dgZonas.Columns[3].Visible = false;

            dgZonas.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgZonas.ForeColor           = Color.Black;

            dgContactos.ColumnCount        = 6;
            dgContactos.Columns[0].Name    = "Usuario";
            dgContactos.Columns[1].Name    = "Nombre";
            dgContactos.Columns[2].Name    = "Teléfono";
            dgContactos.Columns[3].Name    = "Teléfono";
            dgContactos.Columns[4].Name    = "Consigna Individual";
            dgContactos.Columns[5].Name    = "id";
            dgContactos.Columns[5].Visible = false;

            dgContactos.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgContactos.ForeColor           = Color.Black;

            tFechaAlta.SelectedText        = DateTime.Now.ToString("yyyy-MM-dd");
            tViaPrincipal.SelectedText     = "IP";
            tModeloPrincipal.SelectedText  = "HUB";
            tFormatoPrincipal.SelectedText = "CONTACT ID";
            tTestPrincipal.SelectedText    = "DIARIO";
            tViaSecundaria.SelectedText    = "GPRS";

            Data.ListaProvincias(cbProvincias);

            Fill();
        }
        public void Fill()
        {
            if (fichaAbonado != null)
            {
                cContrato = FichaAbonado.consultar_contrato(fichaAbonado.SNAbonado);
                if (cContrato != null)
                {
                    cCliente = new Cliente(cContrato.IIdCliente);
                }

                if (cContrato != null)
                {
                    if (cContrato.IIdEmpresa != 0)
                    {
                        eEmpresa = new Empresa(cContrato.IIdEmpresa);
                    }
                }

                tNAbonado.Clear();
                tNAbonado.SelectedText = fichaAbonado.SNAbonado;

                tTipoPanel.Clear();
                tTipoPanel.SelectedText = fichaAbonado.STipoPanel;

                tEmpresaInstaladora.Clear();
                tEmpresaInstaladora.SelectedText = fichaAbonado.SEmpresaInstaladora;

                tNombreRazon.Clear();
                tNombreRazon.SelectedText = fichaAbonado.SNombreRazonSocial;

                tDireccion.Clear();
                tDireccion.SelectedText = fichaAbonado.SDireccion;

                cbProvincias.Items.Clear();
                Data.ListaProvincias(cbProvincias);
                cbProvincias.SelectedIndex = cbProvincias.FindStringExact(fichaAbonado.SProvincia);

                cbMunicipios.Items.Clear();
                Data.ListaMunicipios(cbMunicipios, cbProvincias.Text);
                cbMunicipios.SelectedIndex = cbMunicipios.FindStringExact(fichaAbonado.SLocalidad);

                tCOPO.Clear();
                tCOPO.SelectedText = fichaAbonado.SCopo;

                tFechaAlta.Clear();
                tFechaAlta.SelectedText = Data.formatearFecha(fichaAbonado.SFechaAlta);

                tEmail.Clear();
                tEmail.SelectedText = fichaAbonado.SEmail;

                cbTelefonos.Items.Clear();

                if (!fichaAbonado.STelefono1.Equals(""))
                {
                    cbTelefonos.Items.Add(fichaAbonado.STelefono1);

                    if (!fichaAbonado.STelefono2.Equals(""))
                    {
                        cbTelefonos.Items.Add(fichaAbonado.STelefono2);

                        if (!fichaAbonado.STelefono3.Equals(""))
                        {
                            cbTelefonos.Items.Add(fichaAbonado.STelefono3);
                        }
                    }
                }

                ArrayList zonas = fichaAbonado.consultar_zona();

                dgZonas.Rows.Clear();

                for (int i = 0; i < zonas.Count; i++)
                {
                    Zona z = (Zona)zonas[i];

                    String[] row =
                    {
                        z.sZona,
                        z.Area,
                        z.Descripcion,
                        z.IId.ToString()
                    };

                    dgZonas.Rows.Add(row);
                }

                tViaPrincipal.Clear();
                tViaPrincipal.SelectedText = fichaAbonado.SViaPrincipal;

                tModeloPrincipal.Clear();
                tModeloPrincipal.SelectedText = fichaAbonado.SModeloPrincipal;

                tFormatoPrincipal.Clear();
                tFormatoPrincipal.SelectedText = fichaAbonado.SFormatoPrincipal;

                tTestPrincipal.Clear();
                tTestPrincipal.SelectedText = fichaAbonado.STestPrincipal;

                tViaSecundaria.Clear();
                tViaSecundaria.SelectedText = fichaAbonado.SViaSecundaria;

                tModeloSecundaria.Clear();
                tModeloSecundaria.SelectedText = fichaAbonado.SModeloSecundaria;

                tFormatoSecundaria.Clear();
                tFormatoSecundaria.SelectedText = fichaAbonado.SFormatoSecundaria;

                tTestSecundaria.Clear();
                tTestSecundaria.SelectedText = fichaAbonado.STestSecundaria;

                tCCTVIP.Clear();
                tCCTVIP.SelectedText = fichaAbonado.SCctvIp;

                tModeloCctvip.Clear();
                tModeloCctvip.SelectedText = fichaAbonado.SCctvIpModelo;

                tIpCliente.Clear();
                tIpCliente.SelectedText = fichaAbonado.SCctvIpCliente;

                tPuerto.Clear();
                tPuerto.SelectedText = fichaAbonado.SCctvIpPuerto;

                tIMEI.Clear();
                tIMEI.SelectedText = fichaAbonado.SIMEI;

                ArrayList contactos = fichaAbonado.consultar_contactos();

                dgContactos.Rows.Clear();

                for (int i = 0; i < contactos.Count; i++)
                {
                    ListaContactos lc = (ListaContactos)contactos[i];

                    string[] row =
                    {
                        lc.Usuario,
                        lc.Nombre,
                        lc.Telefono1,
                        lc.Telefono2,
                        lc.ConsignaIndividual,
                        lc.IId.ToString()
                    };

                    dgContactos.Rows.Add(row);
                }

                tConsignaGlobal.Clear();
                tConsignaGlobal.SelectedText = fichaAbonado.SConsignaGlobal;

                tConsignaCoaccion.Clear();
                tConsignaCoaccion.SelectedText = fichaAbonado.SConsignaCoaccion;

                tConsignaCra.Clear();
                tConsignaCra.SelectedText = fichaAbonado.SConsignaCRA;

                rtComentarios.Clear();
                rtComentarios.SelectedText = fichaAbonado.SComentarios;

                tUsuario.Clear();
                tUsuario.SelectedText = fichaAbonado.SUsuario;

                tCctv.Clear();
                tCctv.SelectedText = fichaAbonado.SCctv;

                tContrasena.Clear();
                tContrasena.SelectedText = fichaAbonado.SContrasena;

                tContrasenaRep.Clear();
                tContrasenaRep.SelectedText = fichaAbonado.SContrasena;

                tLlave.Clear();
                tLlave.SelectedText = fichaAbonado.SLlave;

                tRepetirLlave.Clear();
                tRepetirLlave.SelectedText = fichaAbonado.SLlave;
            }
            else if (eEmpresa != null)
            {
                string tipoVia = "";
                tNombreRazon.Clear();
                tNombreRazon.SelectedText = eEmpresa.SRazonSocial;

                switch (eEmpresa.STipoVia)
                {
                case "Calle": tipoVia = "C/"; break;

                case "Avenida": tipoVia = "Avd."; break;

                case "Travesía": tipoVia = "Tr."; break;

                case "Plaza": tipoVia = "Plza."; break;

                case "Polígono": tipoVia = "Pol."; break;

                case "Urbanización": tipoVia = "Urb."; break;

                case "Carretera": tipoVia = "Ctra."; break;

                case "Paseo": tipoVia = "P.º"; break;
                }

                tDireccion.Clear();
                tDireccion.SelectedText = tipoVia + eEmpresa.SDireccion + "," + eEmpresa.SNumero;

                tEmail.Clear();
                tEmail.SelectedText = new Cliente(eEmpresa.IIdCliente).getEmail();

                if (!eEmpresa.SPiso.Equals(""))
                {
                    tDireccion.SelectedText = "," + eEmpresa.SPiso;
                }

                cbProvincias.Items.Clear();
                Data.ListaProvincias(cbProvincias);
                cbProvincias.SelectedIndex = cbProvincias.FindStringExact(eEmpresa.SProvincia);

                cbMunicipios.Items.Clear();
                Data.ListaMunicipios(cbMunicipios, cbProvincias.Text);
                cbMunicipios.SelectedIndex = cbMunicipios.FindStringExact(eEmpresa.SMunicipio);

                tCOPO.Clear();
                tCOPO.SelectedText = eEmpresa.SCp;
            }
            else if (cCliente != null)
            {
                string tipoVia = "";

                switch (cCliente.getTipoVia())
                {
                case "Calle": tipoVia = "C/"; break;

                case "Avenida": tipoVia = "Avd."; break;

                case "Travesía": tipoVia = "Tr."; break;

                case "Plaza": tipoVia = "Plza."; break;

                case "Polígono": tipoVia = "Pol."; break;

                case "Urbanización": tipoVia = "Urb."; break;

                case "Carretera": tipoVia = "Ctra."; break;

                case "Paseo": tipoVia = "P.º"; break;
                }

                tNombreRazon.Clear();
                tNombreRazon.SelectedText = cCliente.getNombre() + " " + cCliente.getApellido();

                tDireccion.Clear();
                tDireccion.SelectedText = tipoVia + cCliente.getDireccion() + eEmpresa + "," + cCliente.getNumero();

                if (!cCliente.getPiso().Equals(""))
                {
                    tDireccion.SelectedText = "," + cCliente.getPiso();
                }

                tEmail.Clear();
                tEmail.SelectedText = cCliente.getEmail();

                cbProvincias.Items.Clear();
                Data.ListaProvincias(cbProvincias);
                cbProvincias.SelectedIndex = cbProvincias.FindStringExact(cCliente.getProvincia());

                cbMunicipios.Items.Clear();
                Data.ListaMunicipios(cbMunicipios, cbProvincias.Text);
                cbMunicipios.SelectedIndex = cbMunicipios.FindStringExact(cCliente.getMunicipio());

                tCOPO.Clear();
                tCOPO.SelectedText = cCliente.getCp();
            }

            if (fichaAbonado == null && cCliente != null)
            {
                cbTelefonos.Items.Clear();
                cbTelefonos.Items.Add(cCliente.getTelefono());
                cbTelefonos.SelectedIndex = cbTelefonos.Items.Count - 1;
            }
        }
        private void bAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                ArrayList aListaContactos = new ArrayList();
                ArrayList aZonas          = new ArrayList();
                string [] tlfn            = { "", "", "" };

                //string[,] zonas = new string[dgZonas.RowCount - 1, 4];
                //string[,] contactos = new string[dgContactos.RowCount - 1, 6];

                switch (op)
                {
                case 1:
                    aListaContactos     = new ArrayList();
                    aZonas              = new ArrayList();
                    string[,] contactos = new string[dgContactos.RowCount, 5];
                    string[,] zonas     = new string[dgZonas.RowCount, 6];

                    for (int i = 0; i < cbTelefonos.Items.Count; i++)
                    {
                        tlfn[i] = cbTelefonos.Items[i].ToString();
                    }


                    for (int i = 0; i < dgZonas.RowCount; i++)
                    {
                        zonas[i, 0] = dgZonas.Rows[i].Cells[0].Value.ToString();
                        zonas[i, 1] = dgZonas.Rows[i].Cells[1].Value.ToString();
                        zonas[i, 2] = dgZonas.Rows[i].Cells[2].Value.ToString();
                    }

                    MessageBox.Show(dgContactos.RowCount.ToString());
                    for (int i = 0; i < dgContactos.RowCount; i++)
                    {
                        contactos[i, 0] = dgContactos.Rows[i].Cells[0].Value.ToString();
                        contactos[i, 1] = dgContactos.Rows[i].Cells[1].Value.ToString();
                        contactos[i, 2] = dgContactos.Rows[i].Cells[2].Value.ToString();
                        contactos[i, 3] = dgContactos.Rows[i].Cells[3].Value.ToString();
                        contactos[i, 4] = dgContactos.Rows[i].Cells[4].Value.ToString();
                    }

                    FichaAbonado.error_test(tEmpresaInstaladora.Text, tNAbonado.Text, tTipoPanel.Text,
                                            Data.formatearFecha(tFechaAlta.Text), tNombreRazon.Text, tDireccion.Text, cbMunicipios.Text, cbProvincias.Text, tCOPO.Text, tlfn, tEmail.Text,
                                            tViaPrincipal.Text, tModeloPrincipal.Text, tFormatoPrincipal.Text, tTestPrincipal.Text, tViaSecundaria.Text,
                                            tModeloSecundaria.Text, tFormatoSecundaria.Text, tTestSecundaria.Text, tCCTVIP.Text, tModeloCctvip.Text,
                                            tIpCliente.Text, tPuerto.Text, tIMEI.Text,
                                            tConsignaGlobal.Text, tConsignaCoaccion.Text, tConsignaCra.Text, rtComentarios.Text, tCctv.Text,
                                            tUsuario.Text, tContrasena.Text, tContrasenaRep.Text, tLlave.Text, tRepetirLlave.Text);

                    fichaAbonado = FichaAbonado.create(tEmpresaInstaladora.Text, tNAbonado.Text, tTipoPanel.Text,
                                                       tFechaAlta.Text, tNombreRazon.Text, tDireccion.Text, cbMunicipios.Text, cbProvincias.Text, tCOPO.Text, tlfn, tEmail.Text,
                                                       tViaPrincipal.Text, tModeloPrincipal.Text, tFormatoPrincipal.Text, tTestPrincipal.Text, tViaSecundaria.Text,
                                                       tModeloSecundaria.Text, tFormatoSecundaria.Text, tTestSecundaria.Text, tCCTVIP.Text, tModeloCctvip.Text,
                                                       tIpCliente.Text, tPuerto.Text, tIMEI.Text,
                                                       tConsignaGlobal.Text, tConsignaCoaccion.Text, tConsignaCra.Text, rtComentarios.Text, tCctv.Text,
                                                       tUsuario.Text, tContrasena.Text, tContrasenaRep.Text, tLlave.Text, tRepetirLlave.Text);


                    for (int i = 0; i < dgContactos.RowCount; i++)
                    {
                        aListaContactos.Add(ListaContactos.create(fichaAbonado.IId, contactos[i, 0],
                                                                  contactos[i, 1], contactos[i, 2], contactos[i, 3], contactos[i, 4]));
                    }


                    for (int i = 0; i < dgZonas.RowCount; i++)
                    {
                        aZonas.Add(Zona.create(fichaAbonado.IId, zonas[i, 0], zonas[i, 1], zonas[i, 2]));
                    }

                    MessageBox.Show("Ficha de abonado creada correctamente.");
                    this.Close();

                    break;

                case 2:

                    aListaContactos = new ArrayList();
                    aZonas          = new ArrayList();
                    contactos       = new string[dgContactos.RowCount, 6];
                    zonas           = new string[dgZonas.RowCount, 6];

                    for (int i = 0; i < cbTelefonos.Items.Count; i++)
                    {
                        tlfn[i] = cbTelefonos.Items[i].ToString();
                    }

                    for (int i = 0; i < dgZonas.RowCount; i++)
                    {
                        zonas[i, 0] = dgZonas.Rows[i].Cells[0].Value.ToString();
                        zonas[i, 1] = dgZonas.Rows[i].Cells[1].Value.ToString();
                        zonas[i, 2] = dgZonas.Rows[i].Cells[2].Value.ToString();
                        zonas[i, 3] = dgZonas.Rows[i].Cells[3].Value.ToString();
                    }


                    for (int i = 0; i < dgContactos.RowCount; i++)
                    {
                        contactos[i, 0] = dgContactos.Rows[i].Cells[0].Value.ToString();
                        contactos[i, 1] = dgContactos.Rows[i].Cells[1].Value.ToString();
                        contactos[i, 2] = dgContactos.Rows[i].Cells[2].Value.ToString();
                        contactos[i, 3] = dgContactos.Rows[i].Cells[3].Value.ToString();
                        contactos[i, 4] = dgContactos.Rows[i].Cells[4].Value.ToString();
                        contactos[i, 5] = dgContactos.Rows[i].Cells[5].Value.ToString();
                    }

                    FichaAbonado.error_test(tEmpresaInstaladora.Text, tNAbonado.Text, tTipoPanel.Text,
                                            tFechaAlta.Text, tNombreRazon.Text, tDireccion.Text, cbMunicipios.Text, cbProvincias.Text, tCOPO.Text, tlfn, tEmail.Text,
                                            tViaPrincipal.Text, tModeloPrincipal.Text, tFormatoPrincipal.Text, tTestPrincipal.Text, tViaSecundaria.Text,
                                            tModeloSecundaria.Text, tFormatoSecundaria.Text, tTestSecundaria.Text, tCCTVIP.Text, tModeloCctvip.Text,
                                            tIpCliente.Text, tPuerto.Text, tIMEI.Text,
                                            tConsignaGlobal.Text, tConsignaCoaccion.Text, tConsignaCra.Text, rtComentarios.Text, tCctv.Text,
                                            tUsuario.Text, tContrasena.Text, tContrasenaRep.Text, tLlave.Text, tRepetirLlave.Text);

                    fichaAbonado = FichaAbonado.update(fichaAbonado.IId, tEmpresaInstaladora.Text, tNAbonado.Text, tTipoPanel.Text,
                                                       Data.formatearFecha(tFechaAlta.Text), tNombreRazon.Text, tDireccion.Text, cbMunicipios.Text, cbProvincias.Text, tCOPO.Text, tlfn, tEmail.Text,
                                                       tViaPrincipal.Text, tModeloPrincipal.Text, tFormatoPrincipal.Text, tTestPrincipal.Text, tViaSecundaria.Text,
                                                       tModeloSecundaria.Text, tFormatoSecundaria.Text, tTestSecundaria.Text, tCCTVIP.Text, tModeloCctvip.Text,
                                                       tIpCliente.Text, tPuerto.Text, tIMEI.Text,
                                                       tConsignaGlobal.Text, tConsignaCoaccion.Text, tConsignaCra.Text, rtComentarios.Text, tCctv.Text,
                                                       tUsuario.Text, tContrasena.Text, tContrasenaRep.Text, tLlave.Text, tRepetirLlave.Text);

                    for (int i = 0; i < zonasEliminadas.Count; i++)
                    {
                        Zona.delete(((Zona)zonasEliminadas[i]).IId, 2);
                    }

                    for (int i = 0; i < contactosEliminados.Count; i++)
                    {
                        ListaContactos.delete(((ListaContactos)contactosEliminados[i]).IId, 2);
                    }

                    zonasEliminadas.Clear();
                    contactosEliminados.Clear();

                    for (int i = 0; i < dgContactos.RowCount; i++)
                    {
                        if (dgContactos[5, i].Value.Equals(""))
                        {
                            aListaContactos.Add(ListaContactos.create(fichaAbonado.IId, contactos[i, 0],
                                                                      contactos[i, 1], contactos[i, 2], contactos[i, 3], contactos[i, 4]));
                        }
                        else
                        {
                            aListaContactos.Add(ListaContactos.update(Convert.ToInt32(contactos[i, 5]), fichaAbonado.IId, contactos[i, 0],
                                                                      contactos[i, 1], contactos[i, 2], contactos[i, 3], contactos[i, 4]));
                        }
                    }

                    for (int i = 0; i < dgZonas.RowCount; i++)
                    {
                        if (dgZonas[3, i].Value.Equals(""))
                        {
                            aZonas.Add(Zona.create(fichaAbonado.IId, zonas[i, 0], zonas[i, 1], zonas[i, 2]));
                        }
                        else
                        {
                            aZonas.Add(Zona.update(Convert.ToInt32(zonas[i, 3]), fichaAbonado.IId, zonas[i, 0], zonas[i, 1], zonas[i, 2]));
                        }
                    }

                    MessageBox.Show("Ficha de abonado añadida correctamente.", "Operación realizada correctamente");
                    this.Close();
                    break;
                }
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error de consultas",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public CrearFichaMantenimiento(FichaMantenimiento fichaMantenimiento)
        {
            InitializeComponent();

            dgZonas.ColumnCount        = 4;
            dgZonas.Columns[0].Name    = "Zona";
            dgZonas.Columns[1].Name    = "Area";
            dgZonas.Columns[2].Name    = "Descripcion de zona";
            dgZonas.Columns[3].Name    = "id";
            dgZonas.Columns[3].Visible = false;

            dgZonas.Columns[0].ReadOnly = true;
            dgZonas.Columns[1].ReadOnly = true;
            dgZonas.Columns[2].ReadOnly = true;
            dgZonas.Columns[3].ReadOnly = true;
            dgZonas.Columns[3].ReadOnly = true;

            DataGridViewCheckBoxColumn dgSabotaje  = new DataGridViewCheckBoxColumn();
            DataGridViewCheckBoxColumn dgCobertura = new DataGridViewCheckBoxColumn();
            DataGridViewCheckBoxColumn dgBateria   = new DataGridViewCheckBoxColumn();

            dgZonas.Columns.Add(dgSabotaje);
            dgZonas.Columns[4].Name = "Test de sabotaje";
            dgZonas.Columns.Add(dgCobertura);
            dgZonas.Columns[5].Name = "Test de cobertura";
            dgZonas.Columns.Add(dgBateria);
            dgZonas.Columns[6].Name = "Estado bateria";

            dgZonas.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgZonas.ForeColor           = Color.Black;

            this.fichaMantenimiento = fichaMantenimiento;
            this.fichaAbonado       = new FichaAbonado(fichaMantenimiento.IIdFichaAbonado);

            tNumeroParte.ReadOnly = true;
            tFechaParte.ReadOnly  = true;

            tNumeroParte.SelectedText = fichaMantenimiento.SNumero;
            tFechaParte.SelectedText  = Data.formatearFecha(fichaMantenimiento.SFecha);

            tNAbonado.ReadOnly           = true;
            tTipoPanel.ReadOnly          = true;
            tEmpresaInstaladora.ReadOnly = true;
            tNombreRazon.ReadOnly        = true;
            tDireccion.ReadOnly          = true;
            tLocalidad.ReadOnly          = true;
            tProvincia.ReadOnly          = true;
            tCOPO.ReadOnly      = true;
            tFechaAlta.ReadOnly = true;
            tEmail.ReadOnly     = true;

            tViaPrincipal.ReadOnly     = true;
            tModeloPrincipal.ReadOnly  = true;
            tFormatoPrincipal.ReadOnly = true;
            tTestPrincipal.ReadOnly    = true;

            tViaSecundaria.ReadOnly     = true;
            tModeloSecundaria.ReadOnly  = true;
            tFormatoSecundaria.ReadOnly = true;
            tTestSecundaria.ReadOnly    = true;

            tCCTVIP.ReadOnly       = true;
            tModeloCctvip.ReadOnly = true;
            tIpCliente.ReadOnly    = true;
            tPuerto.ReadOnly       = true;

            tIMEI.ReadOnly = true;

            ArrayList testZonas = FichaMantenimiento.consultar_zonas(fichaMantenimiento.IId);

            for (int i = 0; i < testZonas.Count; i++)
            {
                TestZonas tzZona = (TestZonas)testZonas[i];
                Zona      z      = new Zona(tzZona.IIdZona);

                if (tzZona != null)
                {
                    String[] row =
                    {
                        z.sZona,
                        z.Area,
                        z.Descripcion,
                        z.IId.ToString(),
                        tzZona.BSabotaje.ToString(),
                        tzZona.BCobertura.ToString(),
                        tzZona.BBateria.ToString()
                    };

                    dgZonas.Rows.Add(row);
                }
            }

            Fill();
        }