public void revisarVotosAceptacion() { int votosTotales = revisionSolicitudesPreviasMiembroSubirRangoNucleoController.VerSiSolicitado(usernamePK); int votosAceptados = revisionSolicitudesPreviasMiembroSubirRangoNucleoController.VerTodosSolicitadosAceptados(usernamePK); double porcentajeAceptacion = ((double)votosAceptados / (double)votosTotales) * (double)100; if ((porcentajeAceptacion > 50 && nombreRolFK != "Activo") || (nombreRolFK == "Activo" && rolNucleoFK == "Coordinador")) { miembroController.AscenderMiembro(usernamePK, nombreRolFK); editorMiembroSolicitaSubirRangoNucleoController.BorrarSolicitudes(usernamePK); string mensaje = "Su rango ha sido promovido satisfactoriamente"; Notificacion notificacion = new Notificacion(usernamePK, mensaje, null); creadorNotificacionController.CrearNotificacion(notificacion); /*Notid=ficacion Aceptacion*/ } else { int votosRechazados = revisionSolicitudesPreviasMiembroSubirRangoNucleoController.VerTodosSolicitadosRechazados(usernamePK); double porcentajeRechazados = ((double)votosRechazados / (double)votosTotales) * (double)100; if (porcentajeRechazados == 50 && porcentajeAceptacion == 50 && nombreRolFK != "Activo") { string mensaje = "Su rango no pudo ser promovido dado un empate de votos"; Notificacion notificacion = new Notificacion(usernamePK, mensaje, null); creadorNotificacionController.CrearNotificacion(notificacion); editorMiembroSolicitaSubirRangoNucleoController.BorrarSolicitudes(usernamePK); } } }
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")); }