protected void Page_Load(object sender, EventArgs e) { //Se obtiene el moduloID, alertaID y estatusID mediante POST var moduloID = Convert.ToInt32(Request["moduloID"]); var alertaID = Convert.ToInt32(Request["alertaID"]); var estatusID = Convert.ToInt32(Request["estatusID"]); //Obtenemos info del usuario por el logueado usuarioSeguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; //Se filtran las incidencias de la organizacion por estos parametros para mostrar en tabla listaFiltrada = ListaFiltrada(moduloID, alertaID, estatusID); var lista = new List <AlertaAccionInfo>(); //Se obtienen las acciones configuradas para la alerta y las agrega al Dropdown de acciones. lista = ObtenerAccionesporAlertaID(alertaID); if (lista != null) { if (lista.Any()) { foreach (var objeto in lista) { ListItem item = new ListItem(); item.Text = objeto.Descripcion; item.Value = objeto.AccionId.ToString(); DropDownAcciones.Items.Add(item); } } } if (usuarioSeguridad != null) { var usuarioPL = new UsuarioPL(); //Obtiene el nivel del usuario para visualizar alertas. var usuario = usuarioPL.ObtenerNivelAlertaPorUsuarioID(usuarioSeguridad.Usuario.UsuarioID); var estatusPosteado = Convert.ToInt32(Request["estatusID"]); if (listaFiltrada != null) { var firstOrDefault = listaFiltrada.FirstOrDefault(); var listafiltradaNivel = listaFiltrada.Where( n => n.NivelAlerta.NivelAlertaId == usuario.Operador.Rol.NivelAlerta.NivelAlertaId); if (firstOrDefault != null) { //Obtiene los niveles de alerta configurados, actuales y de usuario para mostrar controles dependiendo var nivelAlertaConfigurado = firstOrDefault.Alerta.ConfiguracionAlerta.NivelAlerta.NivelAlertaId; nivelAlertaUsuario = usuario.Operador.Rol.NivelAlerta.NivelAlertaId; var nivelAlertaActual = firstOrDefault.NivelAlerta.NivelAlertaId; hiddenNivelAlertaID.Value = nivelAlertaActual.ToString(); hiddenNivelAlertaUsuario.Value = nivelAlertaUsuario.ToString(); hiddenModuloID.Value = firstOrDefault.Alerta.Modulo.ModuloID.ToString(); hiddenAlertaID.Value = firstOrDefault.Alerta.AlertaID.ToString(); HiddenUsuarioID.Value = usuarioSeguridad.Usuario.UsuarioID.ToString(); if (Estatus.RechaAlert.GetHashCode() == estatusID) { hiddenEsRechazado.Value = "1"; } if (Estatus.NuevaAlert.GetHashCode() == estatusID) { hiddenEsNuevo.Value = "1"; } if (Estatus.RegisAlert.GetHashCode() == estatusID) { hiddenEsRegistrado.Value = "1"; } if (Estatus.VenciAlert.GetHashCode() == estatusID) { hiddenEsVencida.Value = "1"; } hiddenEstatusAnteriorID.Value = firstOrDefault.Estatus.EstatusId.ToString(); HiddenNivelAlertaConfigurado.Value = nivelAlertaConfigurado.ToString(); LimpiarCampos(); btnGuardar.Visible = true; btnCancelar.Visible = true; btnGuardar.Enabled = false; btnCancelar.Enabled = false; if (nivelAlertaActual < nivelAlertaUsuario) { btnGuardar.Text = GetLocalResourceObject("Codebehind.btnGuardarText").ToString(); btnCancelar.Text = GetLocalResourceObject("Codebehind.btnCancelarText").ToString(); DropDownAcciones.Enabled = false; TextAreaComentarios.Enabled = false; fechaRequerido.Visible = true; accionRequerido.Visible = true; horaRequerido.Visible = true; textHistorico.Visible = true; PanelControlesAcciones.Visible = true; } else if (nivelAlertaConfigurado == nivelAlertaUsuario && Estatus.RechaAlert.GetHashCode() == estatusPosteado) { btnGuardar.Text = GetLocalResourceObject("Codebehind.btnGuardarText").ToString(); btnCancelar.Text = GetLocalResourceObject("Codebehind.btnCancelarText").ToString(); PanelControlesAcciones.Visible = true; Label5.Visible = true; DropDownAcciones.Enabled = false; TextAreaComentarios.Enabled = false; textHistorico.Visible = true; fechaRequerido.Visible = true; accionRequerido.Visible = true; horaRequerido.Visible = true; } //Si el nivel actual es menor al nivel de usuario y se realizó POST con estatus Registrado o Vencido //Muestra los controles para visualizar historico else if (nivelAlertaActual < nivelAlertaUsuario && Estatus.NuevaAlert.GetHashCode() == estatusPosteado) { PanelControlesAcciones.Visible = true; DropDownAcciones.Enabled = false; panelComentarios.Visible = false; textHistorico.Visible = true; TextAreaComentarios.Enabled = false; btnGuardar.Enabled = false; btnGuardar.Text = GetLocalResourceObject("Codebehind.btnGuardarText").ToString(); btnCancelar.Enabled = false; btnCancelar.Text = GetLocalResourceObject("Codebehind.btnCancelarText").ToString(); } //Si el nivel actual es mayor al nivel de usuario y se realizó POST con estatus Registrado o Vencido //Muestra los controles para visualizar historico else if (nivelAlertaActual > nivelAlertaUsuario && Estatus.RegisAlert.GetHashCode() == estatusPosteado) { PanelControlesAcciones.Visible = true; DropDownAcciones.Enabled = false; panelComentarios.Visible = false; textHistorico.Visible = true; TextAreaComentarios.Enabled = false; btnGuardar.Enabled = false; btnGuardar.Text = GetLocalResourceObject("Codebehind.btnGuardarText").ToString(); btnCancelar.Enabled = false; btnCancelar.Text = GetLocalResourceObject("Codebehind.btnCancelarText").ToString(); } //Si el nivel configurado es menor al nivel de alerta de usuario y se realizó POST con estatus Registrado o Vencido //Muestra los controles para autorizar o rechazar else if (nivelAlertaConfigurado < nivelAlertaUsuario && Estatus.RegisAlert.GetHashCode() == estatusPosteado) { btnGuardar.Text = GetLocalResourceObject("Codebehind.btnAutorizarText").ToString(); btnGuardar.ID = "btnAutorizar"; btnCancelar.ID = "btnRechazar"; btnGuardar.Text = GetLocalResourceObject("Codebehind.btnAutorizarText").ToString(); btnCancelar.Text = GetLocalResourceObject("Codebehind.btnRechazarText").ToString(); } else if (nivelAlertaActual == nivelAlertaUsuario) { if (nivelAlertaConfigurado == nivelAlertaUsuario) { btnGuardar.Text = GetLocalResourceObject("Codebehind.btnGuardarText").ToString(); btnCancelar.Text = GetLocalResourceObject("Codebehind.btnCancelarText").ToString(); } else { btnGuardar.ID = "btnAutorizar"; btnCancelar.ID = "btnRechazar"; btnGuardar.Text = GetLocalResourceObject("Codebehind.btnAutorizarText").ToString(); btnCancelar.Text = GetLocalResourceObject("Codebehind.btnRechazarText").ToString(); } } } //Si no hay mas objetos en la lista de incidencias muestra el texto de no hay mas registros else { PanelNoRegistros.Visible = true; } } } }