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); }
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); } }