public void VotarAprobarPropuesta(Propuesta propuesta) { if (propuesta.getID().Equals(0) || propuesta.Equals(null)) { throw new ArgumentNullException("Administrador (Votar Aprobar Propuesta) - Propuesta invalida."); } else { if (propuesta.getAprobada().Equals(true)) { throw new ArgumentException("Administrador (Votar Aprobar Propuesta) - La Propuesta ya se encuentra aprobada."); } else { if (propuesta.getPreAprobada().Equals(false)) { throw new ArgumentException("Administrador (Votar Aprobar Propuesta) - La Propuesta aun no se a Pre-Aprobado por la comunidad."); } else { int contador = 0; Administrador admin; ArrayList admins = propuesta.getAdminVotaron(); for (int i = 0; i < 3; i++) { admin = (Administrador)admins[i]; if (admin.getID().Equals(getID())) { throw new ArgumentException("Administrador (Votar Aprobar Propuesta) - Usted ya voto en esta propuesta."); } if (!admin.getID().Equals(0)) { contador++; } } if (contador < 3 || propuesta.getVotosAprobarAdmin().Equals(3)) { for (int i = 0; i < 3; i++) { admin = (Administrador)admins[i]; if (admin.getID().Equals(0)) { admins.Insert(i,new Administrador(getID(),getActivo(),getContrasena(),getApodo(),getCorreo(),getOcupacion(),getIntereses())); propuesta.setAdminVotaron(admins); propuesta.setVotosAprobarAdmin(propuesta.getVotosAprobarAdmin()+1); break; } } } else { throw new ArgumentOutOfRangeException("Administrador (Votar Aprobar Propuesta) - Ya han votado 3 Administradorese en esta Propuesta"); } } } } }