Пример #1
0
        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;
                    }
                }
            }
        }