Ejemplo n.º 1
0
        private TCScannerClaim UserAddScanner(string scannerId, string token)
        {
            String username;
            var    tokens = GetAuthen(out username);

            if (false == tokens)
            {
                // Error: invalid user token
                return(null);
            }

            // link user & scanner
            DbScanner scannerInDb = db.DbScanners.FirstOrDefault(u => (u.id == scannerId));

            if (scannerInDb != null && scannerInDb.registerToken == token)
            {
                String accessToken  = TokenProvider.getInstance().takeToken(username);
                String refreshToken = TokenProvider.getInstance().takeToken(username);

                DbUserScanner userScanner = new DbUserScanner();
                userScanner.name      = username;
                userScanner.scannerId = scannerInDb.id;

                db.DbUserScanners.Add(userScanner);
                db.SaveChanges();

                //string mqttServer = System.Configuration.ConfigurationManager.AppSettings["mqtt"];
                TCScannerClaim scanner = new TCScannerClaim();
                FillScannerInfoFromDb(scanner, scannerInDb);
                return(scanner);
            }

            // Error: invalid scanner id & scanner token
            return(null);
        }
Ejemplo n.º 2
0
        public void Delete(string id)
        {
            String username;
            var    tokens = GetAuthen(out username);

            if (false != tokens)
            {
                bool bDeleted = false;
                // find scanner to delete
                var dbScannerToDelete = db.DbScanners.FirstOrDefault(scanner => scanner.id == id);
                if (dbScannerToDelete != null)
                {
                    // delete scanner
                    db.DbScanners.Remove(dbScannerToDelete);
                    bDeleted = true;
                }

                // delete user scanner
                DbUserScanner dbUserScanner = db.DbUserScanners.FirstOrDefault(userScanner => userScanner.scannerId == id && userScanner.name == username);
                if (null != dbUserScanner)
                {
                    db.DbUserScanners.Remove(dbUserScanner);
                    bDeleted = true;
                }

                // delete blocks
                var aryDbImageBlock = db.DbImageBlocks.Where(blockImg => blockImg.scannerId == id);
                if (null != aryDbImageBlock)
                {
                    db.DbImageBlocks.RemoveRange(aryDbImageBlock);
                    bDeleted = true;
                }

                if (bDeleted)
                {
                    db.SaveChanges();
                }

                MqttPool.getInstance().Close(username);
            }
        }