private void RegistroLaboratorioPedidoV_Load(object sender, EventArgs e)
        {
            LimpiarRlab();

            // Comprobar si ya existe REGLAB asociado al acta.
            _REGLAB_EXISTENTE = ComprobarSiExisteRlab();

            if (_REGLAB_EXISTENTE != null)
            {
                // Carga todos los datos del registro de laboratorio asociado al pedido y los 
                // coloca en los lugares correspondientes del Formulario
                CargarRLAB();

                // Coloca sobre el formulario los campos que no pertenecen a la tabla REGISTROLAB 
                // que son descriptivos y además no se van a modificar durante la edición del registro.
                ValidarOtrosCamposNoEditables();
            }
            else
            {
                GenerarNuevoRLAB();
            }
                           

        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            // Comprobar los campos obligatorios y validar
            
            CopiarRLABdeFormulario();
            if (cbREGLAB_EMPRESAMUESTREO.SelectedIndex == 0)
            // Si muestrea fitosoil, es obligatorio seleccionar el muestreador, la fecha y la hora
            {
                if (!validarPersonaFitosoil(Utilidades.UtilsTipos.toInt(txtMUESTREADOR_PERS_ID.Text)))
                {
                    MessageBox.Show("Si el muestreo lo realiza Fitosoil, es obligatorio seleccionar el muestreador");
                    return;
                }
                if (!dtpREGLAB_FECHAMUESTREO.Checked || !dtpREGLAB_HORAMUESTREO.Checked)
                {
                    MessageBox.Show("Si el muestreo lo realiza Fitosoil, es obligatorio marcar la fecha y hora de muestreo");
                    return;
                }
            }

            if (cbREGLAB_EMPRESARECOGIDA.SelectedIndex == 0)
            // Si la recogida la realiza Fitosoil, es obligatorio indicar quién trae la muestra
            {
                if (!validarPersonaFitosoil(Utilidades.UtilsTipos.toInt(txtRECOGEDOR_PERS_ID.Text)))
                {
                    MessageBox.Show("Si la recogida la realiza Fitosoil, es obligatorio seleccionar la pesona que trae la muestra");
                    return;
                }
                if (!dtpREGLAB_FECHARECOGIDA.Checked || !dtpREGLAB_HORARECOGIDA.Checked)
                {
                    MessageBox.Show("Si la recogida la realiza Fitosoil, es obligatorio marcar la fecha y hora de recogida");
                    return;
                }
            } 
            // Verificar si es un rlab nuevo o existente
            _REGLAB_EXISTENTE = ComprobarSiExisteRlab();
            if (_REGLAB_EXISTENTE != null)
            {
                UpdateRLAB();
            }
            else
            {
                InsertRLAB();
            }
            
        }
 private void CopiarRLABdeFormulario()
 {            
     _REGISTROLAB_NUEVO = new REGISTROLAB();
     _REGISTROLAB_NUEVO.ARTI_ID1 = Utilidades.UtilsTipos.toInt(lblARTI_ID1.Text);
     _REGISTROLAB_NUEVO.CLIE_ID = Utilidades.UtilsTipos.toIntN(lblCLIE_ID.Text);
     _REGISTROLAB_NUEVO.DOCU_ID = lblDOCU_ID.Text;
     _REGISTROLAB_NUEVO.DOCU_ID_ORIGEN = lblDOCU_ID_ORIGEN.Text;
     _REGISTROLAB_NUEVO.DOCU_NUMERO_ORIGEN = lblDOCU_NUMERO_ORIGEN.Text;
     if (xbEstado.Checked)
     {
         // Cambiar si se genera orden de trabajo desde fuera
         _REGISTROLAB_NUEVO.ESTDOC_ID = "PEN";
     }
     _REGISTROLAB_NUEVO.MUESTRA_DESCRIPCION = txtMUESTRA_DESCRIPCION.Text;
     _REGISTROLAB_NUEVO.MUESTRA_OBSERVACIONES = txtMUESTRA_OBSERVACIONES.Text;
     _REGISTROLAB_NUEVO.MUESTRA_REF1 = txtMUESTRA_REF1.Text;
     _REGISTROLAB_NUEVO.MUESTRA_REF2 = txtMUESTRA_REF2.Text;
     _REGISTROLAB_NUEVO.MUESTRA_REF3 = txtMUESTRA_REF3.Text;
     _REGISTROLAB_NUEVO.MUESTREADOR_PERS_ID = Utilidades.UtilsTipos.toIntN(txtMUESTREADOR_PERS_ID.Text);
     _REGISTROLAB_NUEVO.NIVURG_ID = Utilidades.UtilsTipos.toIntN(txtNIVURG_ID.Text);
     _REGISTROLAB_NUEVO.RECOGEDOR_PERS_ID = Utilidades.UtilsTipos.toIntN(txtRECOGEDOR_PERS_ID.Text);
     _REGISTROLAB_NUEVO.REGLAB_ANOTACIONES = txtREGLAB_ANOTACIONES.Text;
     _REGISTROLAB_NUEVO.REGLAB_EMPRESAMUESTREO = txtREGLAB_EMPRESAMUESTREO.Text;
     _REGISTROLAB_NUEVO.REGLAB_EMPRESARECOGIDA = txtREGLAB_EMPRESARECOGIDA.Text;
     if (dtpFechaEntradaMuestra.Checked)
         _REGISTROLAB_NUEVO.REGLAB_FECHA = dtpFechaEntradaMuestra.Value.ToString("yyyy-MM-dd");
     else _REGISTROLAB_NUEVO.REGLAB_FECHA = "";
     if (dtpREGLAB_FECHAMAXIMA.Checked)
         _REGISTROLAB_NUEVO.REGLAB_FECHAMAXIMA = dtpREGLAB_FECHAMAXIMA.Value.ToString("yyyy-MM-dd");
     else _REGISTROLAB_NUEVO.REGLAB_FECHAMAXIMA = "";
     if (dtpREGLAB_FECHAMUESTREO.Checked)
         _REGISTROLAB_NUEVO.REGLAB_FECHAMUESTREO = dtpREGLAB_FECHAMUESTREO.Value.ToString("yyyy-MM-dd");
     else _REGISTROLAB_NUEVO.REGLAB_FECHAMUESTREO = "";
     if (dtpREGLAB_FECHARECOGIDA.Checked)
         _REGISTROLAB_NUEVO.REGLAB_FECHARECOGIDA = dtpREGLAB_FECHARECOGIDA.Value.ToString("yyyy-MM-dd");
     else _REGISTROLAB_NUEVO.REGLAB_FECHARECOGIDA = "";
     if (dtpHoraEntradaMuestra.Checked)
         _REGISTROLAB_NUEVO.REGLAB_HORA = dtpHoraEntradaMuestra.Value.ToString("HH:mm");
     else _REGISTROLAB_NUEVO.REGLAB_HORAMAXIMA = "";
     if (dtpREGLAB_HORAMAXIMA.Checked)
         _REGISTROLAB_NUEVO.REGLAB_HORAMAXIMA = dtpREGLAB_HORAMAXIMA.Value.ToString("HH:mm");
     else _REGISTROLAB_NUEVO.REGLAB_HORAMAXIMA = "";
     if (dtpREGLAB_HORAMUESTREO.Checked)
         _REGISTROLAB_NUEVO.REGLAB_HORAMUESTREO = dtpREGLAB_HORAMUESTREO.Value.ToString("HH:mm");
     else _REGISTROLAB_NUEVO.REGLAB_HORAMUESTREO = "";
     if (dtpREGLAB_HORARECOGIDA.Checked)
         _REGISTROLAB_NUEVO.REGLAB_HORARECOGIDA = dtpREGLAB_HORARECOGIDA.Value.ToString("HH:mm");
     else _REGISTROLAB_NUEVO.REGLAB_HORARECOGIDA = "";
     _REGISTROLAB_NUEVO.REGLAB_ID = lblREGLAB_ID.Text;
     _REGISTROLAB_NUEVO.REGLAB_MUESTREADOR = txtREGLAB_MUESTREADOR.Text;
     _REGISTROLAB_NUEVO.REGLAB_PERSONAENTRADA = Utilidades.UtilsTipos.toInt(txtREGLAB_PERSONAENTRADA.Text);
     _REGISTROLAB_NUEVO.REGLAB_RECOGEDOR = txtREGLAB_RECOGEDOR.Text;
     _REGISTROLAB_NUEVO.REGLAB_XML = "";
     _REGISTROLAB_NUEVO.SUREFERENCIA = txtSUREFERENCIA.Text;            
 }