Exemplo n.º 1
0
        public IActionResult OnPostSolicitar()
        {
            if (Request.Cookies["usernamePK"] != null)
            {
                miembros    = buscadorMiembrosController.GetListaNucleosSolicitud();
                usernamePK  = Request.Cookies["usernamePK"];
                nombreRolFK = buscadorMiembrosController.GetRango(usernamePK);
                if (nombreRolFK != "Periférico" && nombreRolFK != "Activo")
                {
                    AvisosInmediatos.Set(this, "rangoInvalido", "El rango de este miembro no califica para la solicitud", AvisosInmediatos.TipoAviso.Error);
                }
                else
                {
                    int puede = revisionSolicitudesPreviasMiembroSubirRangoNucleoController.VerSiSolicitado(usernamePK);

                    if (puede == 0)
                    {
                        miembroSolicitaSubirRangoNucleoEnviadaController.SolicitarSubirRango(usernamePK, miembros);
                        AvisosInmediatos.Set(this, "exitoSolicitud", "La solicitud se envió con éxito", AvisosInmediatos.TipoAviso.Exito);
                        foreach (var miembro in miembros)
                        {
                            string       mensaje      = "Hay que revisar la solicitud para subir de rango del miembro " + usernamePK;
                            Notificacion notificacion = new Notificacion(miembro.usernamePK, mensaje, "/PromoverMiembro");
                            creadorNotificacionController.CrearNotificacion(notificacion);
                        }
                    }
                    else
                    {
                        AvisosInmediatos.Set(this, "fracasoSolicitud", "Usted ha enviado una solicitud que sigue en valoración", AvisosInmediatos.TipoAviso.Error);
                    }
                }
            }


            return(Redirect("/MiPerfil"));
        }