From b9a2429b73d7f88abbd665107cfbca056f995b5d Mon Sep 17 00:00:00 2001 From: Vanesa Rimada <80859025+vrimada@users.noreply.github.com> Date: Fri, 20 Mar 2026 15:25:18 -0300 Subject: [PATCH] fix: se corrige el bug de "recordar analisis" --- WebLab/Protocolos/ProtocoloEdit2.aspx.cs | 53 ++++++++++++++++++++---- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/WebLab/Protocolos/ProtocoloEdit2.aspx.cs b/WebLab/Protocolos/ProtocoloEdit2.aspx.cs index 81d5c3f..975bc6c 100644 --- a/WebLab/Protocolos/ProtocoloEdit2.aspx.cs +++ b/WebLab/Protocolos/ProtocoloEdit2.aspx.cs @@ -1660,14 +1660,14 @@ private void IniciarValores(Configuracion oC) chkRecordarPractica.Checked = true; } break; - case "prácticas": - TxtDatosCargados.Value = s_control[1].ToString(); break; + case "prácticas": if(Request["idServicio"] == "1") TxtDatosCargados.Value = s_control[1].ToString(); break; + case "prácticasMicro": if(Request["idServicio"] == "3") TxtDatosCargados.Value = s_control[1].ToString(); break; //case "ddlImpresora": // ddlImpresora.SelectedValue = s_control[1].ToString(); break; case "ddlImpresoraEtiqueta": - ddlImpresoraEtiqueta.SelectedValue = s_control[1].ToString(); break; - } + ddlImpresoraEtiqueta.SelectedValue = s_control[1].ToString(); break; + } } } else @@ -2489,10 +2489,39 @@ private void AlmacenarSesion(Configuracion oC) if (Request["Operacion"].ToString() != "AltaTurno") { s_valores += "@ddlSectorServicio:" + ddlSectorServicio.SelectedValue; - } + } + + if (chkRecordarPractica.Checked) + {//guardo la sesion de general y microbiologia por si vuelvo a cargar esos tipos de labos, luego en GuardarDetalle se actualizan si el usuario lo cambio + if(Session["ProtocoloLaboratorio"] != null) + { + string[] arr = Session["ProtocoloLaboratorio"].ToString().Split(("@").ToCharArray()); + foreach (string item in arr) + { + string[] s_control = item.Split((":").ToCharArray()); + switch (s_control[0].ToString()) { + + case "prácticas": + string practicas = "@prácticas:" + s_control[1].ToString(); + if (Request["idServicio"] == "1") + s_valores = s_valores.Replace(practicas, ""); //si es laboratorio general lo borro y lo cargo en GuardarDetalle. + else + s_valores += practicas; //si no es laboratorio general no quiero perder su session "prácticas" + break; + case "prácticasMicro": + string practicasMicro = "@prácticasMicro:" + s_control[1].ToString(); + if (Request["idServicio"] != "3") //si no es microbiologia no quiero perder su session "prácticasMicro" + s_valores += "@prácticasMicro:" + s_control[1].ToString(); + else + s_valores = s_valores.Replace(practicasMicro, ""); //si es micro lo borro y lo cargo en GuardarDetalle. + break; + } + } + } + } - Session["ProtocoloLaboratorio"] = s_valores; + Session["ProtocoloLaboratorio"] = s_valores; } @@ -2702,7 +2731,17 @@ private void GuardarDetalle(Business.Data.Laboratorio.Protocolo oRegistro) if (Request["Operacion"].ToString() != "Modifica") { if (chkRecordarPractica.Checked) - Session["ProtocoloLaboratorio"] += "@prácticas:" + recordar_practicas; + { + //actualizo los analisis a recordar por IdTipoServicio + switch (oRegistro.IdTipoServicio.IdTipoServicio) + { + case 1: Session["ProtocoloLaboratorio"] += "@prácticas:" + recordar_practicas; /*labo general*/ break; + case 3: Session["ProtocoloLaboratorio"] += "@prácticasMicro:" + recordar_practicas; /*microbiologia*/ break; + } + + + + } }