public Node AddNode(NodeConfigurationModel configurationModel) { try { var node = _nodeFactory.Create(configurationModel.TypeFullName, configurationModel.JsonConfiguration); node.Name = configurationModel.Name; node.ParentGuid = configurationModel.ParentGuid; if (_nodes.ContainsKey(configurationModel.DeviceGuid)) { var l = _nodes[configurationModel.DeviceGuid]; l.Add(node); return(node); } else { _nodes.Add(configurationModel.DeviceGuid, new List <Node>() { node }); return(node); } } catch (Exception ex) { _logger.LogError(ex.Message); return(null); } }
public IActionResult AddNode(Guid adapterGuid, NodeConfigurationModel configModel) { try { if (_nodeSynchroniztaionService.IsRunning) { _nodeSynchroniztaionService.StopAsync(new System.Threading.CancellationToken()); } var adapter = _adapterManager.Adapters.Where(x => x.Guid == adapterGuid).FirstOrDefault(); if (adapter == null) { return(BadRequest($"Adapter with guid: '{adapterGuid}' not found.")); } var node = _nodeFactory.Create(configModel.TypeFullName, configModel.JsonConfiguration); node.Name = configModel.Name; node.Guid = Guid.NewGuid(); node.DataType = NodeDataType.Int; node.ParentGuid = configModel.ParentGuid; adapter.AddNode(node); } catch (Exception ex) { return(BadRequest(ex.Message)); } finally { if (!_nodeSynchroniztaionService.IsRunning) { _nodeSynchroniztaionService.StartAsync(new System.Threading.CancellationToken()); } } return(CreatedAtAction()); }