angular.module('app.controllers', []) .controller('ceitificatorCtrl', function($scope, $ionicPlatform, EventsService) { $ionicPlatform.ready(function() { $scope.events = EventsService.getEvents(); }); $scope.doRefresh = function() { $scope.events = EventsService.getEvents(); $scope.$broadcast('scroll.refreshComplete'); $scope.$apply(); }; }) .controller('novoEventoCtrl', function($scope, EventsService) { $scope.formData = {}; $scope.addNewEvent = function() { // insere um novo evento no banco if ((!$scope.formData.eventName || $scope.formData.eventName.length === 0 || !$scope.formData.eventName.trim()) || (!$scope.formData.eventDesc || $scope.formData.eventDesc.length === 0 || !$scope.formData.eventDesc.trim()) || (!$scope.formData.eventDate || $scope.formData.eventDate.length === 0 || !$scope.formData.eventDate.trim()) || (!$scope.formData.eventPlace || $scope.formData.eventPlace.length === 0 || !$scope.formData.eventPlace.trim()) || (!$scope.formData.eventHours || $scope.formData.eventHours.length === 0 || !$scope.formData.eventHours.trim())) alert("WTF?"); // se deixou algum campo em branco, leva um alert na cara else // se tá tudo certo, manda inserir o novo evento no banco EventsService.addNewEvent({eventName: $scope.formData.eventName, eventDesc: $scope.formData.eventDesc, eventDate: $scope.formData.eventDate, eventPlace: $scope.formData.eventPlace, eventHours: $scope.formData.eventHours}); }; $scope.showCertText = function() { // mostra o texto final (ou quase) que ficará no certificado alert("Certificamos que !NOME! participou " + $scope.formData.eventDesc + " " + $scope.formData.eventName + ", realizada " + $scope.formData.eventDate + " na Universidade Federal do Paraná, " + $scope.formData.eventPlace + ", em Curitiba – PR, com a carga horária total de " + $scope.formData.eventHours + "."); }; }) .controller('listaDePresenAEventoXCtrl', function($scope, PeopleService, eventX) { $scope.eventX = eventX; $scope.people = PeopleService.getPeople(eventX.id); $scope.scan = function() { // faz o scan do qr code e marca a presença da pessoa cordova.plugins.barcodeScanner.scan( function (result) { if (result && result.text.split(',').length == 3) { // pega o que veio do scanner, separa nos devidos campos e insere no banco PeopleService.addPersonInEvent({name: result.text.split(',')[0].trim(), grr: result.text.split(',')[1].trim(), email: result.text.split(',')[2].trim()}, eventX.id) .then(function(result) { // atualiza a view $scope.people = PeopleService.getPeople(eventX.id); }, function(err){ // se deu erro, não precisa atualizar a view console.log(err); }); } }, function (error) { alert("Scanning failed: " + error); } ); }; });