forked from cursosLabra/EjemploNode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
25_alumnos.js
71 lines (59 loc) · 1.82 KB
/
25_alumnos.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
* Ejemplo de tipo abstracto para gestionar lista de alumnos
* Cada alumno tiene un nombre y una edad
*/
// Internamente se representan como una sola lista
var alumnos = [];
// Se inicializan un par de valores
alumnos.push({ "nombre": "pepe", "edad": 23 });
alumnos.push({ "nombre": "Luis", "edad": 34 });
// Funciones que se exportan
exports.getAlumno = function(id,next) {
var alumno = alumnos[id];
if (alumno == undefined)
next("Cannot find record with id " + id);
else
next(null,alumno);
};
exports.insertaAlumno = function (nombre,edad,next) {
if (nombre == null) next("Campo nombre es obligatorio");
else if (edad == null) next("Campo edad es obligatorio");
else {
var record = { "nombre": nombre, "edad": edad };
alumnos.push(record);
next(null,alumnos);
}
};
exports.borraAlumno = function (id,next) {
if (alumnos[id] != undefined) {
alumnos.splice(alumnos.indexOf(alumnos[id]),1);
next(null,alumnos);
} else
next(new Error("No existe alumno con id " + id));
};
exports.modificaAlumno = function(id,nombre,edad,next) {
if (alumnos[id]!= undefined) {
alumnos[id] = { "nombre": nombre, "edad": edad};
next(null,alumnos);
}
else
next(new Error("No se puede modificar alumno que no existe. id = " + id)) ;
};
exports.toHTML = function() {
return '<ul>' + alumnos.map(function(alumno){
return '<li>' + alumno.nombre + ' ' + alumno.edad + '</li>';
}).join('') + '</ul>' ;
};
exports.toText = function() {
return alumnos.map(function(alumno){
return ' - ' + alumno.nombre + ' ' + alumno.edad + '\n';
}).join('');
};
exports.toJson = function() {
return JSON.stringify(alumnos);
};
exports.toXML = function() {
return '<alumnos>' + alumnos.map(function(alumno){
return '<alumno nombre =\"' + alumno.nombre + '\"><edad>' + alumno.edad + '</edad></alumno>';
}).join('') + '</alumnos>';
};