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 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 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 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; } } } }