Ejemplo n.º 1
0
/**
 * Se encarga de actualizar los datos del usuario que recibe, en la
 * base de datos.
 */
void Servicio::administrarPerfil() {

	string nombreUsuario = this->getParametro(keyNombre, keyDefault);
	string estadoDeConexion = this->getParametro(keyEstadoDeConexion,
			keyDefault);
	string fotoDePerfil = this->getParametro(keyFotoDePerfil, keyDefault);
	bool estado = StringUtil::toBoolean(estadoDeConexion);
	string localizacion = this->getParametro(keyLocalizacion, keyDefault);
	string password = this->getParametro(keyPassword, keyDefault);
	Usuario* user = this->obtenerUsuario();
	string token = this->getParametro(keyTokenSesion, keyDefault);

	if (user->getId() != keyIdUsuarioNoEncontrado) {
		if (user->getToken() == token) {
			user->setNombre(nombreUsuario);
			user->setEstadoConexion(estado);
			user->setFotoDePerfil(fotoDePerfil);
			user->setLocalizacion(localizacion);
			user->setPassword(password);
			user->persistir();
			Loger::getLoger()->info(
					"Se modificaron los datos del usuario " + user->getNombre()
							+ " correctamente.");
			this->responder(
					"Se modificaron los datos del usuario " + user->getNombre()
							+ " correctamente. Token:" + user->getToken(),
					true);
		} else {
			Loger::getLoger()->warn(
					"El usuario " + user->getNombre()
							+ " no posee un token de session correcto");
			this->responder(
					"El usuario " + user->getNombre()
							+ " no posee un token de session correcto", false);
		}

	} else {
		Loger::getLoger()->warn(
				"El usuario " + user->getNombre()
						+ " no se encuentra registrado en el sistema");
		this->responder(
				"El usuario " + user->getNombre()
						+ " no se encuentra registrado en el sistema", false);
	}
	Loger::getLoger()->guardarEstado();
	delete user;

}