· 9 years ago · Dec 23, 2016, 02:32 AM
1angular.module('starter', ['ionic', 'ngCordova'])
2 .run(startApp)
3 .controller('networkCtrl', networkCtrl)
4 .factory('databaseFtr', databaseFtr);
5
6startApp.$inject = ['$ionicPlatform'];
7
8function startApp($ionicPlatform) {
9
10 $ionicPlatform.ready(function() {
11
12 if (window.cordova && window.cordova.plugins.Keyboard) {
13 cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
14 cordova.plugins.Keyboard.disableScroll(true);
15 }
16
17 if (window.StatusBar) {
18 StatusBar.styleDefault();
19 }
20 });
21
22}
23
24networkCtrl.$inject = ['$scope', 'databaseFtr'];
25
26function networkCtrl($scope, databaseFtr) {
27
28
29 $scope.dbProcesos = {
30
31 dbCreate: function() {
32 var db;
33 db = databaseFtr.crearDB();
34 databaseFtr.crearTablas(db);
35 },
36
37 tablaInsert: function() {
38 var db;
39 db = databaseFtr.crearDB();
40 databaseFtr.insertarTablas(db);
41 },
42
43 consultarPersona: function() {
44 var db;
45 db = databaseFtr.crearDB();
46 databaseFtr.consultarDatos(db);
47 },
48
49 consultarTelefono: function() {
50 var db;
51 db = databaseFtr.crearDB();
52 databaseFtr.consultarTelefono(db);
53 }
54 }
55}
56
57databaseFtr.$inject = ['$cordovaSQLite'];
58
59function databaseFtr($cordovaSQLite) {
60
61 return {
62
63 crearDB: function() {
64
65 var db;
66
67 db = $cordovaSQLite.openDB({
68 name: "patologias.db",
69 location: 'default'
70 });
71
72 return db;
73
74 },
75
76 crearTablas: function(db) {
77
78 var tablaPersona, tablaTelefono;
79
80 tablaPersona = "CREATE TABLE IF NOT EXISTS Persona(cedula INTEGER PRIMARY KEY, nombre TEXT, apellido TEXT)";
81 tablaTelefono = "CREATE TABLE IF NOT EXISTS Telefono(numero INTEGER PRIMARY KEY, cedula_tel INTEGER, REFERENCES Persona(cedula))";
82
83 $cordovaSQLite.execute(db, tablaPersona);
84 $cordovaSQLite.execute(db, tablaTelefono);
85
86 },
87
88 insertarTablas: function(db) {
89
90 var datosPersona, datosTelefono, insertarPersona, insertarTelefono, largoPer, largoTel, i, j;
91
92 datosPersona = [{
93 cedula: 123456,
94 nombre: "pepe",
95 apellido: "perez"
96 }];
97
98 datosTelefono = [{
99 numero: 30020025,
100 cedula: 123456
101 }, {
102 numero: 6998877,
103 cedula: 123456
104 }, {
105 numero: 58965475,
106 cedula: 123456
107 }];
108
109 insertarPersona = "INSERT INTO Persona(cedula, nombre, apellido) VALUES(?,?,?)";
110 insertarTelefono = "INSERT INTO Telefono(numero, cedula_tel) VALUES(?,?)";
111
112 largoPer = datosPersona.length;
113 largoTel = datosTelefono.length;
114
115 for (i = 0; i < largoPer; i++) {
116 console.log(i);
117 $cordovaSQLite.execute(db, insertarPersona, [datosPersona[i].cedula, datosPersona[i].nombre, datosPersona[i].apellido]);
118 }
119
120 for (j = 0; j < largoTel; j++) {
121 console.log(j);
122 $cordovaSQLite.execute(db, insertarTelefono, [datosTelefono[i].numero, datosTelefono[i].cedula]);
123 }
124
125 },
126
127 consultarDatos: function(db) {
128
129 var consultaPersona, consultaMixta, i, j, fila;
130
131 consultaPersona = "SELECT * FROM Persona";
132 consultaMixta = "SELECT Persona.nombre, Persona.apellido FROM Persona INNER JOIN Telefono ON Persona.cedula = Telefono.cedula_tel WHERE(((Persona.cedula) = 123456))";
133
134 $cordovaSQLite.execute(db, consultaPersona, []).then(function(resultado) {
135 console.log(resultado.rows.length);
136 /*fila = resultado.rows.item(0);
137 console.log(fila.cedula); */
138 });
139 },
140
141 consultarTelefono: function(db) {
142
143 var consultaTelefono;
144 consultaTelefono = "SELECT numero FROM Telefono";
145
146 $cordovaSQLite.execute(db, consultaTelefono, []).then(function(resultado) {
147 console.log(resultado.rows.length);
148 //console.log(resultado.rows.item(0).cnt);
149 });
150 }
151 }
152
153}