public void addUpdateDI(string operation, string id, string description, string address, int scantime, bool onoffscan, string driver) { lock (db.DIs) { if (operation == "add") { DI novi = new DI(id, description, address, scantime, onoffscan, driver); db.DIs.Add(novi); TagProcessing.DItags.Add(novi.Id, novi); TagProcessing.DIthreads.Add(novi.Id, new Thread(() => TagProcessing.readDI(novi.Id))); TagProcessing.DIthreads[novi.Id].Start(); db.SaveChanges(); DataManipulator.saveData(); return; } DI tag = getByIdDI(id); tag.Description = description; tag.Address = address; tag.ScanTime = scantime; tag.OnOffScan = onoffscan; tag.Driver = driver; db.SaveChanges(); DataManipulator.saveData(); TagProcessing.DItags.Remove(tag.Id); TagProcessing.DItags.Add(tag.Id, tag); TagProcessing.DIthreads.Remove(tag.Id); TagProcessing.DIthreads.Add(tag.Id, new Thread(() => TagProcessing.readAI(tag.Id))); TagProcessing.DIthreads[tag.Id].Start(); onChangeNotification.Invoke("Operation succesful."); } }
public void addUpdateAI(string operation, string id, string description, string address, int scantime, bool onoffscan, double lowlimit, double highlimit, string units, string driver) { lock (db.AIs) { if (operation == "add") { AI novi = new AI(id, description, address, scantime, onoffscan, lowlimit, highlimit, units, driver); db.AIs.Add(novi); TagProcessing.AItags.Add(novi.Id, novi); TagProcessing.AIthreads.Add(novi.Id, new Thread(() => TagProcessing.readAI(novi.Id))); TagProcessing.AIthreads[novi.Id].Start(); db.SaveChanges(); DataManipulator.saveData(); return; } AI tag = getByIdAI(id); tag.Description = description; tag.Address = address; tag.ScanTime = scantime; tag.OnOffScan = onoffscan; tag.LowLimit = lowlimit; tag.HighLimit = highlimit; tag.Units = units; tag.Driver = driver; db.SaveChanges(); DataManipulator.saveData(); TagProcessing.AItags.Remove(tag.Id); TagProcessing.AItags.Add(tag.Id, tag); TagProcessing.AIthreads.Remove(tag.Id); TagProcessing.AIthreads.Add(tag.Id, new Thread(() => TagProcessing.readAI(tag.Id))); TagProcessing.AIthreads[tag.Id].Start(); onChangeNotification.Invoke("Operation succesful."); } }