//[Authorize(Roles = "Admins")]
        public async Task <IActionResult> InitOpcUaClient(string clientKey)
        {
            try
            {
                await Program.UarcCollector.InitUarcClientAsync(clientKey);
            }
            catch (Exception e)
            {
                if (e.Message == null)
                {
                    e = new Exception("Client " + clientKey + " konnte nicht initialisiert werden.");
                    throw e;
                }
                else
                {
                    throw e;
                }
            }

            OpcUaServerViewModel opcUaServerViewModel = new OpcUaServerViewModel
            {
                OpcUaServerLabel = clientKey
            };

            return(View(opcUaServerViewModel));
        }
        //[Authorize(Roles = "Admins")]
        public async Task <IActionResult> CloseOpcUaClient(string clientKey)
        {
            Program.UarcCollector.OpcUaVerbindungen.TryGetValue(clientKey, out UarcOpcUaClient Client);

            await Client.SaveAndCloseClientAsync();

            OpcUaServerViewModel opcUaServerViewModel = new OpcUaServerViewModel
            {
                OpcUaServerLabel = clientKey
            };

            return(View(opcUaServerViewModel));
        }
        public IActionResult CreateOpcUaClient(OpcUaServerModel opcUaServerModel)
        {
            try
            {
                Program.UarcCollector.CreateUarcClient(opcUaServerModel.EndpointUrl, opcUaServerModel.OpcUaServerLabel, opcUaServerModel.UserName, opcUaServerModel.Password);
            }
            catch (Exception e)
            {
                throw e;
            }

            OpcUaServerViewModel opcUaServerViewModel = new OpcUaServerViewModel
            {
                OpcUaServerLabel = opcUaServerModel.OpcUaServerLabel
            };

            return(View(opcUaServerViewModel));
        }
        public IActionResult DeleteOpcUaClient(string clientKey)
        {
            Program.UarcCollector.OpcUaVerbindungen.TryGetValue(clientKey, out UarcOpcUaClient client);

            if (client.Session == null)
            {
                try
                {
                    Program.UarcCollector.OpcUaVerbindungen.Remove(clientKey);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            OpcUaServerViewModel opcUaServerViewModel = new OpcUaServerViewModel
            {
                OpcUaServerLabel = clientKey
            };

            return(View(opcUaServerViewModel));
        }