public Propuesta crearPropuesta(String id,Tema tema, String idPropuestaRelacionada, TipoPropuesta tipoPropuesta, Boolean preAprobada, Boolean aprobada, String texto) { Propuesta propuesta; String idProp = tema.generarIDPropuestaPosicion(); //Obtiene el sufijo de la posicion de la propuesta if (idPropuestaRelacionada == "0000") { propuesta = new Propuesta(id+idProp,tipoPropuesta,preAprobada,aprobada,texto); } else { propuesta = new Propuesta(id+idProp, idPropuestaRelacionada, tipoPropuesta, preAprobada, aprobada, texto); } return propuesta; }
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"); } } } } }
public Boolean eliminarPropuesta(Propuesta propuesta) { if (propuesta != null || propuesta.getID() != "0000") { ArrayList repo; Propuesta prop; repo = getPropuestas(); for (int i = 0; i < repo.Count; i++) { prop = (Propuesta)repo[i]; if (repo.Equals(propuesta) && prop.getID() == propuesta.getID()) { repo.RemoveAt(i); setPropuestas(repo); setFechaModificacion(DateTime.Now); return true; } } throw new ArgumentException("Tema (Eliminar Propuesta) - La propuesta no se encuentra en el Tema."); } else { throw new ArgumentNullException("Tema (Eliminar Propuesta) - Propuesta invalida."); } }
public int obtenerCantidadDesaprobacion(Propuesta propuesta) { Calificacion cali; int contador = 0; for (int n = 0; n < propuesta.getCalificaciones().Count; n++) { cali = (Calificacion)propuesta.getCalificaciones()[n]; if (cali.getAprueba().Equals(false)) { contador++; } } return contador; }
public Boolean agregarPropuesta(Propuesta propuesta) { if (propuesta == null || propuesta.getID().Equals(0)) { throw new ArgumentNullException("Tema (Agregar Propuesta) - Propuesta valida."); } else { ArrayList propuestas = getPropuestas(); Propuesta prop; for (int i = 0; i < propuestas.Count; i++) { prop = (Propuesta)propuestas[i]; if (prop.getID().Equals(propuesta.getID()) || prop.Equals(propuesta)) { throw new ArgumentException("Tema (Agregar Propuesta) - Esa propuesta ya se encuentra en el Tema."); } } propuestas.Add(propuesta); setPropuestas(propuestas); setFechaModificacion(DateTime.Now); return true; } }
public void eliminarPropuesta(Propuesta propuesta) { getTema().eliminarPropuesta(propuesta); }
public void agregarPropuesta(Propuesta propuesta) { getTema().agregarPropuesta(propuesta); }
public void setPropuesta(Propuesta propuesta) { _propuesta = propuesta; }
public Boolean modificarIDPropuestaRelacionada(Propuesta propuestaRelacionada) { String idRelacionada = propuestaRelacionada.getID(); if (idRelacionada == "0000") { throw new ArgumentNullException("Propuesta (Mod. ID Prop. Relacionada) - La ID Relacionada es invalida"); } else { if (idRelacionada.Equals(getID())) { throw new ArgumentException("Propuesta (Mod. ID Prop. Relacionada) - La ID Relacionada no puede ser la misma del Tema."); } else { if (getIdPropuestaRelacionada().Equals(propuestaRelacionada.getID())) { throw new ArgumentException("Propuesta (Mod. ID Prop. Relacionada) - Esta Propuesta ya esta relacionada con la que ingresaste."); } else { setIdPropuestaRelacionada(idRelacionada); setFechaModificacion(DateTime.Now); return true; } } } }