Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions WebLab/Turnos/TurnoList.aspx.cs
Original file line number Diff line number Diff line change
Expand Up @@ -572,11 +572,17 @@ private bool VerificarDisponibilidad()
ICriteria crit = m_session.CreateCriteria(typeof(Turno));
crit.Add(Expression.Eq("Fecha", cldTurno.SelectedDate));
crit.Add(Expression.Eq("IdTipoServicio", oServicio));

if (oUser.IdPerfil.IdPerfil==15)
crit.Add(Expression.Eq("IdEfectorSolicitante", oUser.IdEfector));

if (oUser.IdPerfil.IdPerfil == 15)
{ //07.08.2026 CAPS
crit.Add(Expression.Eq("IdEfector", oUser.IdEfectorDestino)); //aca va el laboratorio
}
else
crit.Add(Expression.Eq("IdEfector", oUser.IdEfector));
{ //07.08.2026 agregar efector solicitante para filtrar correctamente
crit.Add(Expression.Eq("IdEfector", oUser.IdEfector)); //aca va el laboratorio
}

crit.Add(Expression.Eq("IdEfectorSolicitante", oUser.IdEfector)); // el efector que lo solicita es el logueado

crit.Add(Expression.Eq("IdItem", int.Parse(ddlItem.SelectedValue)));

Expand Down
43 changes: 41 additions & 2 deletions WebLab/Usuarios/UsuarioEdit.aspx.cs
Original file line number Diff line number Diff line change
Expand Up @@ -833,12 +833,23 @@ private void GuardarEfectores(Business.Data.Usuario oUsuario)
foreach (DataRow row in dt.Rows)
{
int idEfector = int.Parse(row["idEfector"].ToString());
Efector oEfector = (Efector)new Efector().Get(typeof(Efector), idEfector);

// Si ya existe, no lo vuelvo a crear
// Si ya existe, lo modifico --> 7.08.2026 en cv_customValidacionEfector_ServerValidate validamos que se cambio el area| perfil | labo destino y lo borramos del viewstate
if (efectoresExistentes.ContainsKey(idEfector))
{
UsuarioEfector oRegistroModificado = efectoresExistentes[idEfector];
oRegistroModificado.IdPerfil = int.Parse(row["idPerfil"].ToString());
oRegistroModificado.IdArea = int.Parse(row["idArea"].ToString());
oRegistroModificado.IdEfectorDestino = int.Parse(row["idEfectorDestino"].ToString());
oRegistroModificado.Save();



continue;
}

Efector oEfector = (Efector)new Efector().Get(typeof(Efector), idEfector);


UsuarioEfector oRegistro = new UsuarioEfector();
oRegistro.IdUsuario = oUsuario;
Expand Down Expand Up @@ -1015,6 +1026,34 @@ protected void cv_customValidacionEfector_ServerValidate(object source, ServerVa
(ddlPerfil.SelectedItem.Value == "15" && (ddlEfectorDestino.SelectedItem.Value != efectorEncontrado["idEfectorDestino"].ToString()))
)
{


//Auditoria de modificacion
string s_anterior = "", s_nueva = "";
if (ddlPerfil.SelectedItem.Value != efectorEncontrado["idPerfil"].ToString())
{
s_anterior = "Perfil:" + efectorEncontrado["Perfil"] + " ";
s_nueva = "Perfil:" + ddlPerfil.SelectedItem.Text;
}
if (ddlArea.SelectedItem.Value != efectorEncontrado["idArea"].ToString())
{
s_anterior = s_anterior + "Area:" + efectorEncontrado["Area"] + " ";
s_nueva = s_nueva + "Area:" + ddlArea.SelectedItem.Text;
}
if (ddlPerfil.SelectedItem.Value == "15" && (ddlEfectorDestino.SelectedItem.Value != efectorEncontrado["idEfectorDestino"].ToString()))
{
s_anterior = s_anterior + "Efector Destino:" + efectorEncontrado["EfectorDestino"];
s_nueva = s_nueva + "Efector Destino:" + ddlEfectorDestino.SelectedItem.Text;
}

Usuario oUsuario = (Usuario)new Usuario().Get(typeof(Usuario), int.Parse(Request["id"]));
Usuario oAuditor = (Usuario)new Usuario().Get(typeof(Usuario), int.Parse(Session["idUsuario"].ToString()));
oAuditor.GrabaAuditoria(
"Modifica " + ddlEfector3.SelectedItem.Text,
oUsuario.IdUsuario,
oUsuario.Username,
s_anterior,s_nueva);

//Borro el anterior y permitimos que continue el flujo para que se guarde el nuevo con distinto perfil o area o laboratoriodestino
dt.Rows.Remove(efectorEncontrado);
ViewState["efectores"] = dt;
Expand Down