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

            Message        message = Message.createFromString(data);
            CheckInPending updated = JsonConvert.DeserializeObject <CheckInPending>(message.data);

            CheckInPending existing = CurrentDatabase.CheckInPendings.Where(c => c.Id == updated.Id).SingleOrDefault();

            if (existing == null)
            {
                return(Message.createErrorReturn("Pending check in not found", Message.API_ERROR_PENDING_CHECKIN_NOT_FOUND));
            }

            existing.Stamp = updated.Stamp;
            existing.Data  = updated.Data;

            CurrentDatabase.SubmitChanges();

            Message response = new Message();

            response.setNoError();
            response.count = 1;
            response.data  = SerializeJSON(existing);

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

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

            var pending = new CheckInPending
            {
                Stamp = DateTime.Now,
                Data  = message.data
            };

            CurrentDatabase.CheckInPendings.InsertOnSubmit(pending);
            CurrentDatabase.SubmitChanges();

            response.setNoError();
            response.count = 1;

            string qrCode = Convert.ToBase64String(BarcodeHelper.generateQRCode("!" + pending.Id, 300));

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

            Message message = Message.createFromString(data);

            CheckInPending pending = CurrentDatabase.CheckInPendings.Where(c => c.Id == message.id).SingleOrDefault();

            if (pending == null)
            {
                return(Message.createErrorReturn("Pending check in not found", Message.API_ERROR_PENDING_CHECKIN_NOT_FOUND));
            }

            Message response = new Message();

            response.setNoError();
            response.count = 1;
            response.data  = SerializeJSON(pending);

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

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

            CheckInPending existing = CurrentDatabase.CheckInPendings.Where(c => c.PeopleId == CurrentDatabase.CurrentPeopleId).SingleOrDefault();

            if (existing != null)
            {
                existing.Stamp = DateTime.Now;
                existing.Data  = message.data;
            }
            else
            {
                var pending = new CheckInPending
                {
                    Stamp    = DateTime.Now,
                    Data     = message.data,
                    PeopleId = CurrentDatabase.CurrentPeopleId,
                    FamilyId = CurrentDatabase.CurrentUserPerson.FamilyId
                };
                CurrentDatabase.CheckInPendings.InsertOnSubmit(pending);
            }
            CurrentDatabase.SubmitChanges();

            response.setNoError();
            response.count = 1;

            return(response);
        }