diff --git a/Business/Business.csproj b/Business/Business.csproj
index e7919c36..b594d108 100644
--- a/Business/Business.csproj
+++ b/Business/Business.csproj
@@ -78,6 +78,7 @@
C:\Users\Carolina\Downloads\002.GenerarQRCrystalReportsWeb\55.GenerarQRCrystalReportsWeb\GenerarQRWebForms\GenerarQRWebForms\bin\QRCoder.dll
+
3.5
diff --git a/Business/Data/Laboratorio/Protocolo.cs b/Business/Data/Laboratorio/Protocolo.cs
index 97cc0395..50e2ff36 100644
--- a/Business/Data/Laboratorio/Protocolo.cs
+++ b/Business/Data/Laboratorio/Protocolo.cs
@@ -11,6 +11,9 @@ insert license info here
using System.IO;
using System.Drawing;
using QRCoder;
+using System.Configuration;
+using System.Collections.Generic;
+using System.Linq;
namespace Business.Data.Laboratorio
{
@@ -3157,6 +3160,292 @@ where a.IdUsuarioValida>0
return s_resultadoAnterior;
}
-
+
+ public class ResultadoDTO
+ {
+ public string Codigo { get; set; }
+ public Item IdItem { get; set; }
+ public Item IdSubItem { get; set; }
+ }
+ public static string VerificarAnalisisContenidos(string TxtDatos, string analisisOriginales, string idProtocolo, Usuario oUser, string muestraAsociada)
+ {
+ bool devolver = true;
+ string[] tabla = TxtDatos.Split('@');
+ string[] tablaOriginal = analisisOriginales.Split(';');
+ string listaCodigo = "";
+ string error = string.Empty;
+
+ Dictionary itemsPorCodigo = new Dictionary();
+ Protocolo oRegistro = null;
+
+ List codigos = new List();
+ List codigosOriginal = new List();
+ DataTable dt = new DataTable();
+
+
+ //Armo los buffers de datos para no ir tantas veces a la base de datos
+
+
+ if (idProtocolo != null) //Es Modificacion, me traigo todos los iditems cargados a DataSet(ds)
+ {
+ //Instancio Protocolo fuera de la repetitiva
+ oRegistro = (Business.Data.Laboratorio.Protocolo) oRegistro.Get(typeof(Business.Data.Laboratorio.Protocolo),int.Parse(idProtocolo.ToString()));
+
+ foreach (string fila in tablaOriginal)
+ {
+ string[] codigo = fila.Split('#');
+ codigosOriginal.Add(codigo[1]);
+ }
+
+ foreach (string fila in tabla)
+ {
+ string[] codigo = fila.Split('#');
+ codigos.Add(codigo[1]);
+ }
+
+ string[] diferencia = codigosOriginal.Intersect(codigos).ToArray(); //Solo los codigos que estan en BD y no borraron de la grilla
+
+ string resultado = string.Join(", ", diferencia.Select(v => $"'{v}'"));
+
+ string m_ssql = @"SELECT I.codigo, DP.idItem, DP.idSubItem
+ from LAB_DetalleProtocolo AS DP with (nolock)
+ INNER JOIN LAB_Item AS I with (nolock) ON DP.idSubItem = I.idItem
+ WHERE DP.idProtocolo = " + idProtocolo +
+ " and codigo in (" + resultado + ")";
+ //ISession m_session = NHibernateHttpModule.CurrentSession;
+ //ICriteria criteria = m_session.CreateCriteria(typeof(DetalleProtocolo))
+ //.CreateAlias("DP.IdSubItem", "I")
+ //.CreateAlias("DP.IdProtocolo", "P")
+ //.Add(Expression.Eq("P.IdProtocolo", idProtocolo))
+ //.Add(Expression.In("I.Codigo", diferencia.ToArray()))));
+
+ // criteria.SetProjection(
+ //Projections.ProjectionList()
+ // .Add(Projections.Property("I.Codigo"), "Codigo")
+ // .Add(Projections.Property("DP.IdItem"), "IdItem")
+ // .Add(Projections.Property("DP.IdSubItem"), "IdSubItem")
+//);
+ //criteria.SetResultTransformer(Transformers.AliasToBean());
+ // IList detalles = criteria.List();
+ }
+
+ for (int i = 0; i < tabla.Length - 1; i++)
+ {
+ string[] fila = tabla[i].Split('#');
+ string codigo = fila[1].ToString();
+ if (listaCodigo == "")
+ listaCodigo = "'" + codigo + "'";
+ else
+ listaCodigo += ",'" + codigo + "'";
+
+ if (codigo != "")
+ {
+ Item oItem; ;
+
+ if (!itemsPorCodigo.TryGetValue(codigo, out oItem))
+ {
+ oItem = new Item();
+ oItem = (Item)oItem.Get(typeof(Item), "Codigo", codigo, "Baja", false);
+ itemsPorCodigo[codigo] = oItem; //Tambien lo guardo en un buffer //Aca la key es el codigo
+
+ if (oItem.Tipo == "P") //Para las practicas guardo los idItem tambien en el buffer
+ {
+ ISession m_session = NHibernateHttpModule.CurrentSession;
+ ICriteria crit = m_session.CreateCriteria(typeof(PracticaDeterminacion));
+ crit.Add(Expression.Eq("IdItemPractica", oItem));
+ crit.Add(Expression.Eq("IdEfector", oUser.IdEfector));
+ IList detalle = crit.List();
+
+ List idsDeterminaciones = new List();
+ foreach (PracticaDeterminacion item in detalle)
+ {
+ idsDeterminaciones.Add(item.IdItemDeterminacion);
+ }
+
+ if (idsDeterminaciones.Count > 0)
+ {
+ ICriteria critItems = m_session.CreateCriteria(typeof(Item));
+ critItems.Add(Expression.In("IdItem", idsDeterminaciones));
+ IList determinaciones = critItems.List();
+ foreach (Item oItem2 in determinaciones)
+ {
+ string key = oItem2.IdItem.ToString();
+ if (!itemsPorCodigo.ContainsKey(key))
+ {
+ itemsPorCodigo[key] = oItem2; //La key para estos items es su IdItem
+ }
+ }
+ }
+ }
+
+ //1- Si el idItem ya esta en DetalleProtocolo (para los casos de "Modifica" no verifico Analisis)
+ if (oRegistro != null)//Caro: unifico instanciacion de protocolo cuando es modificacion
+ {
+ if (oItem != null)
+ {
+ if (!codigosOriginal.Contains(codigo))//no esta en la base
+ {
+ devolver = VerificaMuestrasAsociadas(codigo, oItem, tabla, muestraAsociada, oUser, dt, itemsPorCodigo);
+ }
+ }
+ }
+ else // Para el alta
+ {
+ devolver = VerificaMuestrasAsociadas(codigo, oItem, tabla, muestraAsociada, oUser, dt, itemsPorCodigo);
+ }
+
+
+ }
+ }/// if codigo
+
+ if (!devolver) break;
+ }
+
+ if ((devolver) && (listaCodigo != ""))
+ { error = VerificarAnalisisComplejosContenidos(listaCodigo, oUser); }
+
+ return error;
+
+ }
+
+ private static bool VerificaMuestrasAsociadas(string codigo, Item oItem, string[] tabla, string muestraAsociada, Usuario oUser, DataTable dt = null, Dictionary itemsPorCodigo = null)
+ {
+ string error = string.Empty;
+
+
+ //Verifica si la muestra asociada es la correcta
+ if (oItem.VerificaMuestrasAsociadas(int.Parse(muestraAsociada)))
+ {
+ for (int j = 0; j < tabla.Length - 1; j++)
+ {
+ string[] fila2 = tabla[j].Split('#');
+ string codigo2 = fila2[1].ToString();
+ //Verifico que el item y subItem no estan repetidos
+
+ if ((codigo2 != "") && (codigo != codigo2))
+ {
+ Item oItem2;
+ if (itemsPorCodigo != null && itemsPorCodigo.TryGetValue(codigo2, out oItem2))
+ {
+ oItem2 = itemsPorCodigo[codigo2];
+ }
+ else
+ {
+ oItem2 = new Item();
+ oItem2 = (Item)oItem2.Get(typeof(Item), "Codigo", codigo2, "Baja", false);
+ if (itemsPorCodigo != null)
+ itemsPorCodigo[codigo2] = oItem2; //lo guardo en un buffer para la proxima busqueda
+ }
+
+
+ //MultiEfector: filtro por efector
+ ISession m_session = NHibernateHttpModule.CurrentSession;
+ ICriteria crit = m_session.CreateCriteria(typeof(PracticaDeterminacion));
+ crit.Add(Expression.Eq("IdItemPractica", oItem));
+ crit.Add(Expression.Eq("IdItemDeterminacion", oItem2.IdItem));
+ crit.Add(Expression.Eq("IdEfector", oUser.IdEfector));
+ PracticaDeterminacion oGrupo = (PracticaDeterminacion)crit.UniqueResult();
+
+ if (oGrupo != null)
+ {
+ error = "Ha cargado análisis contenidos en otros. Verifique los códigos " + codigo + " y " + codigo2 + "!";
+ break;
+ }
+
+ //Verifica analisis contendo en otro pero con en el buffer
+
+ if (dt != null)
+ {
+ Item oItemExistente = new Item();
+ bool hayConflicto = false;
+ int itemExistente = 0;
+
+
+
+ if (oItem.Tipo == "P") //Es practica
+ {
+ foreach (PracticaDeterminacion item in detalle)
+ {
+ if (itemsEnBD.ContainsKey(item.IdItemDeterminacion))
+ {
+ itemExistente = itemsEnBD[item.IdItemDeterminacion];
+ hayConflicto = true; break;
+ }
+ }
+ }
+ else //es determinacion simple idItem=idSubitem
+ {
+ if (itemsEnBD.ContainsKey(oItem.IdItem))
+ {
+ itemExistente = itemsEnBD[oItem.IdItem];
+ hayConflicto = true;
+ }
+ }
+
+ if (hayConflicto)
+ {
+ string mensajeerror = "";
+ oItemExistente = (Item)oItemExistente.Get(typeof(Item), "IdItem", itemExistente);//, "Baja", false); //Caro: le saco la condicion de baja porque si fue grabado en la base y despues lo pusieron de baja no lo va a encontrar
+ if (oItemExistente != null)///Caro agrego control de que exista si no va a dar error al usarlo
+ {
+ mensajeerror =
+ "Ha cargado análisis contenidos en otros. Verifique los códigos " +
+ codigo + " y " + oItemExistente.Codigo + "!";
+
+ }
+ else
+ mensajeerror = "Ha cargado análisis contenidos en otros. Verifique los códigos ";
+
+ error = mensajeerror;
+
+ }
+
+ }
+ }
+
+ }////for
+ }
+ else
+ {
+ error = "Ha ingresado tipo de muestra que no corresponde con el codigo " + codigo + ". Verifique configuracion.";
+
+
+ }
+
+ return error;
+ }
+
+ private static string VerificarAnalisisComplejosContenidos(string listaCodigo, Usuario oUser)
+ { ///Este es un segundo nivel de validacion en donde los analisis contenidos no estan directamente sino en diagramas
+ string error= string.Empty;
+ string m_ssql = "SELECT distinct PD.idItemDeterminacion, I.codigo" +
+ " FROM LAB_PracticaDeterminacion AS PD " +
+ " INNER JOIN LAB_Item AS I ON PD.idItemPractica = I.idItem " +
+ " WHERE I.codigo IN (" + listaCodigo + ") AND (I.baja = 0)" +
+ " and PD.idEfector= " + oUser.IdEfector.IdEfector.ToString() + " ORDER BY PD.idItemDeterminacion ";
+
+ //NHibernate.Cfg.Configuration oConf = new NHibernate.Cfg.Configuration();
+ //String strconn = oConf.GetProperty("hibernate.connection.connection_string");
+ SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SIL_ReadOnly"].ConnectionString); ///Performance: conexion de solo lectura
+ SqlDataAdapter da = new SqlDataAdapter(m_ssql, conn);
+ DataSet ds = new DataSet();
+ da.Fill(ds);
+
+ string itempivot = "";
+ string codigopivot = "";
+ for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+ {
+ if (ds.Tables[0].Rows[i][0].ToString() == itempivot)
+ {
+ error = "Ha cargado análisis contenidos en otros. Verifique los códigos " + codigopivot + " y " + ds.Tables[0].Rows[i][1].ToString() + "!";
+ break;
+ }
+ codigopivot = ds.Tables[0].Rows[i][1].ToString();
+ itempivot = ds.Tables[0].Rows[i][0].ToString();
+ }
+ return error;
+
+ }
+
}
}
diff --git a/WebLab/Protocolos/ProtocoloEdit2.aspx.cs b/WebLab/Protocolos/ProtocoloEdit2.aspx.cs
index 087267f5..911e1f3b 100644
--- a/WebLab/Protocolos/ProtocoloEdit2.aspx.cs
+++ b/WebLab/Protocolos/ProtocoloEdit2.aspx.cs
@@ -6,7 +6,7 @@
using Business;
using Business.Data.Laboratorio;
using Business.Data;
-
+using System.Linq;
using NHibernate;
using NHibernate.Expression;
using System.Data.SqlClient;
@@ -3675,333 +3675,11 @@ protected void cvAnalisis_ServerValidate(object source, ServerValidateEventArgs
}
- protected void cvValidacionInput_ServerValidate_vane(object source, ServerValidateEventArgs args)
- {
-
- string[] bk = TxtDatosCargados.Value.Split(';');
-
- TxtDatosCargados.Value = TxtDatos.Value;
-
- string sDatos = "";
-
- string[] tabla = TxtDatos.Value.Split('@');
-
- for (int i = 0; i < tabla.Length - 1; i++)
- {
- string[] fila = tabla[i].Split('#');
- string codigo = fila[1].ToString();
- string muestra= fila[2].ToString();
- string conResultado = "false";
-
- //Cargo el valor del resultado para no perderlo si da error la validacion
- if (i < bk.Length && bk.Length > 1) //TxtDatosCargados en Alta no tiene valores!
- {
- string[] filaBk = bk[i].Split('#');
- conResultado = filaBk[2].ToString();
- }
- if (sDatos == "")
- sDatos = codigo + "#" + muestra + "#" + conResultado;
- else
- sDatos += ";" + codigo + "#" + muestra + "#" + conResultado;
-
- }
-
-
-
-
- TxtDatosCargados.Value = sDatos;
- //saco restriccion de forma temporal
- //if (Request["Operacion"].ToString()!="Modifica")
- // if (!VerificarFechaPacienteMuestra())
- // {
- // TxtDatos.Value = "";
- // args.IsValid = false;
- // this.cvValidacionInput.ErrorMessage = "No es posible ingresar para la misma fecha, muestra y paciente un nuevo protocolo.";
- // return;
- // }
-
- if (!VerificarAnalisisContenidos() )
- { TxtDatos.Value = "";
- args.IsValid = false;
-
- return;
- }
- else
- {
-
-
-
- ///
-
- if ((TxtDatos.Value == "") || (TxtDatos.Value == "1###on@"))
- {
-
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe completar al menos un análisis";
- return;
- }
- else args.IsValid = true;
-
-
- //validacion Diagnostico
- if (oC.DiagObligatorio)
- {if (lstDiagnosticosFinal.Items.Count == 0)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar al menos un diagnóstico presuntivo del paciente";
- return;
- }
- }
-
- ///Validacion de la fecha de protocolo
- if (txtFecha.Value == "")
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar la fecha del protocolo";
- return;
- }
- else
- {
-
- if (DateTime.Parse(txtFecha.Value) > DateTime.Now)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La fecha del protocolo no puede ser superior a la fecha actual";
- return;
- }
- else
- args.IsValid = true;
- }
-
-
- if ((ddlSectorServicio.SelectedValue == "0"))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar sector";
- return;
- }
-
- if ((ddlOrigen.SelectedValue == "0"))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar Origen";
- return;
- }
-
- if ((ddlPrioridad.SelectedValue == "0"))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar Prioridad";
- return;
- }
-
- if ((ddlMuestra.SelectedValue == "0") && (pnlMuestra.Visible))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar Tipo de Muestra";
- return;
- }
- /// Valida que debe seleccionar un caracter si es un caso notificable a SISA
-
-
-
- if ((VerificaRequiereCaracter(sDatos)) && (ddlCaracter.SelectedValue == "0"))
- //if ((sDatos.Contains(oC.CodigoCovid) && (ddlCaracter.SelectedValue=="0")))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe seleccionar el caracter del protocolo";
- return;
- }
- // fin valida
- // validacion si es sospechoso o detctar ingresar fecha de inicio de sintomas
-
- if (VerificaObligatoriedadFIS())
- {
- if ((txtFechaFIS.Value == "") && (chkSinFIS.Checked==false))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar fecha de inicio de sÃntomas";
- return;
- }
- }
- // validacion si es contacto ingresar fecha de ultimo contacto
- if ((ddlCaracter.SelectedValue == "4") && (txtFechaFUC.Value=="") && (chkSinFUC.Checked==false))
- {
-
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar fecha de último contacto";
- return;
-
- }
- if ((ddlEspecialista.SelectedValue=="-1") && (oC.MedicoObligatorio))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar la mátricula del médico solicitante";
- return;
- }
- if (ddlOrigen.SelectedValue == "0")
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar el origen";
- return;
- }
- if ((oC.IdSectorDefecto== 0) && (ddlSectorServicio.SelectedValue == "0"))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar el Servicio";
- return;
- }
-
-
- if ((lblAlertaObraSocial.Visible) && (lblObraSocial.Text == "-"))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar la obra social/financiador";
- return;
- }
-
- ///Validacion de la fecha de la orden
-
- if (txtFechaOrden.Value == "")
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar la fecha de la orden";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaOrden.Value) > DateTime.Now)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La fecha de la orden no puede ser superior a la fecha actual";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaOrden.Value) > DateTime.Parse(txtFecha.Value))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La fecha de la orden no puede ser superior a la fecha del protocolo";
- return;
- }
- else
- args.IsValid = true;
- }
- }
-
-
-
-
- if (txtFechaTomaMuestra.Value == "")
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "Debe ingresar la fecha de toma de muestra";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaTomaMuestra.Value) > DateTime.Now)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La fecha de toma de muestra no puede ser superior a la fecha actual";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaTomaMuestra.Value) > DateTime.Parse(txtFecha.Value))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La fecha de toma de muestra no puede ser superior a la fecha del protocolo";
- return;
- }
- else
- args.IsValid = true;
- }
- }
-
-
- /// control de fecha inicio de sintomas
- ///
-
- if (txtFechaFIS.Value != "")
-
- {
- if (DateTime.Parse(txtFechaFIS.Value) > DateTime.Now)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La FIS no puede ser superior a la fecha actual";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaTomaMuestra.Value) < DateTime.Parse(txtFechaFIS.Value))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La FIS no puede ser despues de la fecha de toma de muestra";
- return;
- }
- else
- args.IsValid = true;
- }
- }//fin control
-
-
- /// control de fecha inicio de sintomas
- ///
-
-
- if (txtFechaFUC.Value != "")
-
- {
- if (DateTime.Parse(txtFechaFUC.Value) > DateTime.Now)
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La FUC no puede ser superior a la fecha actual";
- return;
- }
- else
- {
- if (DateTime.Parse(txtFechaTomaMuestra.Value) < DateTime.Parse(txtFechaFUC.Value))
- {
- TxtDatos.Value = "";
- args.IsValid = false;
- this.cvValidacionInput.ErrorMessage = "La FUC no puede ser despues de la fecha de toma de muestra";
- return;
- }
- else
- args.IsValid = true;
- }
- }//fin control
-
- }
- }
+
protected void cvValidacionInput_ServerValidate(object source, ServerValidateEventArgs args)
- {
-
+ {
+ string tablaOriginal = TxtDatosCargados.Value;
TxtDatosCargados.Value = TxtDatos.Value;
@@ -4036,10 +3714,11 @@ protected void cvValidacionInput_ServerValidate(object source, ServerValidateEve
// return;
// }
- if (!VerificarAnalisisContenidos() )
+ string error = Protocolo.VerificarAnalisisContenidos(sDatos, tablaOriginal, ddlMuestra.SelectedValue, oUser, Request["idProtocolo"]);
+ if (!string.IsNullOrEmpty(error))
{ TxtDatos.Value = "";
args.IsValid = false;
-
+ this.cvValidacionInput.ErrorMessage = error;
return;
}
else
@@ -4373,18 +4052,18 @@ private bool VerificarAnalisisContenidos()
bool devolver = true;
string[] tabla = TxtDatos.Value.Split('@');
string listaCodigo = "";
+
- for (int i = 0; i < tabla.Length - 1; i++)
-
+
+ for (int i = 0; i < tabla.Length - 1; i++)
{
- string[] fila = tabla[i].Split('#');
- string codigo = fila[1].ToString();
+ string[] fila = tabla[i].Split('#');
+ string codigo = fila[1].ToString();
if (listaCodigo == "")
listaCodigo = "'" + codigo + "'";
else
listaCodigo += ",'" + codigo + "'";
- int i_idItemPractica = 0;
if (codigo != "")
{
@@ -4392,8 +4071,7 @@ private bool VerificarAnalisisContenidos()
oItem = (Item)oItem.Get(typeof(Item), "Codigo", codigo, "Baja", false);
if (oItem.VerificaMuestrasAsociadas(int.Parse(ddlMuestra.SelectedValue)))
{
-
- i_idItemPractica = oItem.IdItem;
+
for (int j = 0; j < tabla.Length - 1; j++)
{
@@ -4427,13 +4105,13 @@ private bool VerificarAnalisisContenidos()
}
}////for
- }
- else
- {
- this.cvValidacionInput.ErrorMessage = "Ha ingresado tipo de muestra que no corresponde con el codigo " + codigo + ". Verifique configuracion.";
- devolver = false; break;
+ }
+ else
+ {
+ this.cvValidacionInput.ErrorMessage = "Ha ingresado tipo de muestra que no corresponde con el codigo " + codigo + ". Verifique configuracion.";
+ devolver = false; break;
- }
+ }
}/// if codigo
if (!devolver) break;