public ActionResult PrintJobs(string data)
        {
            if (!Auth())
            {
                return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS));
            }

            Message message  = Message.createFromString(data);
            Message response = new Message();

            string[] kiosks = message.getArgStringAsArray(",");

            List <PrintJob> printJobs = (from label in CurrentDatabase.PrintJobs
                                         where kiosks.Contains(label.Id)
                                         select label).ToList();

            List <List <Label> > labels = new List <List <Label> >();

            foreach (PrintJob printJob in printJobs)
            {
                AttendanceBundle attendanceBundle = JsonConvert.DeserializeObject <AttendanceBundle>(printJob.JsonData);
                attendanceBundle.labelSize = message.argInt;

                List <Label> labelGroup = attendanceBundle.createLabelData(CurrentDatabase);

                labels.Add(labelGroup);
            }

            response.setNoError();
            response.count = labels.Count;
            response.data  = SerializeJSON(labels);

            return(response);
        }
        public ActionResult UpdateAttend(string data)
        {
            // Authenticate first
            if (!Auth())
            {
                return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS));
            }

            Message message  = Message.createFromString(data);
            Message response = new Message();

            AttendanceBundle bundle = JsonConvert.DeserializeObject <AttendanceBundle>(message.data);

            bundle.recordAttendance(CurrentDatabase);

            if (message.device == Message.API_DEVICE_WEB)
            {
                string bundleData = SerializeJSON(bundle);

                CheckInModel checkInModel = new CheckInModel(CurrentDatabase);
                checkInModel.SavePrintJob(message.kiosk, null, bundleData);

                response.setNoError();
                response.count = 1;
                response.data  = bundleData;
            }
            else
            {
                response.setNoError();
                response.count = 1;
                response.data  = SerializeJSON(bundle.createLabelData(CurrentDatabase));
            }

            return(response);
        }