private void UpdateApiModel(ApplicationRecordApiModel application) { if (application.ApplicationNames != null) { application.ApplicationNames = application.ApplicationNames.Where(x => !string.IsNullOrEmpty(x.Text)).ToList(); } else { application.ApplicationNames = new List <ApplicationNameApiModel>(); } if (application.ApplicationNames.Count == 0) { application.ApplicationNames.Add(new ApplicationNameApiModel(null, application.ApplicationName)); } else { application.ApplicationNames[0] = new ApplicationNameApiModel(null, application.ApplicationName); } if (application.DiscoveryUrls != null) { application.DiscoveryUrls = application.DiscoveryUrls.Where(x => !string.IsNullOrEmpty(x)).ToList(); } else { application.DiscoveryUrls = new List <string>(); } if (application.DiscoveryUrls.Count == 0) { application.DiscoveryUrls.Add(""); } }
public async Task <ActionResult> UnregisterAsync(string id) { if (String.IsNullOrEmpty(id)) { return(new BadRequestResult()); } AuthorizeClient(); var application = new ApplicationRecordApiModel(); try { application = await _opcVault.GetApplicationAsync(id); if (application == null) { return(new NotFoundResult()); } } catch (Exception ex) { ViewData["ErrorMessage"] = "Load unregister details of the application failed. " + "Message:" + ex.Message; return(View(application)); } return(View(application)); }
async void OnRegister(object sender, EventArgs e) { var apiModel = new ApplicationRecordApiModel(); apiModel.ApplicationName = ApplicationNameEntry.Text; apiModel.ApplicationUri = ApplicationUriEntry.Text; //apiModel.ApplicationType.GetType. await RegisterAsync(apiModel); }
public async Task <ApplicationRecordApiModel> UpdateApplicationAsync([FromBody] ApplicationRecordApiModel application) { if (application == null) { throw new ArgumentNullException(nameof(application)); } var applicationServiceModel = application.ToServiceModel(); applicationServiceModel.AuthorityId = User.Identity.Name; return(new ApplicationRecordApiModel(await _applicationDatabase.UpdateApplicationAsync(application.ApplicationId, applicationServiceModel))); }
public ApplicationRecordRegisterApiModel(ApplicationRecordApiModel apiModel) : base(ApplicationState.New, apiModel.ApplicationType, apiModel.ApplicationId, apiModel.Id) { ApplicationUri = apiModel.ApplicationUri; ApplicationName = apiModel.ApplicationName; ApplicationNames = apiModel.ApplicationNames; ProductUri = apiModel.ProductUri; DiscoveryUrls = apiModel.DiscoveryUrls; ServerCapabilities = apiModel.ServerCapabilities; GatewayServerUri = apiModel.GatewayServerUri; DiscoveryProfileUri = apiModel.DiscoveryProfileUri; }
public ApplicationRecordTrimmedApiModel(ApplicationRecordApiModel apiModel) : base(apiModel.State, apiModel.ApplicationType, apiModel.ApplicationId, apiModel.Id) { ApplicationUri = apiModel.ApplicationUri; ApplicationName = apiModel.ApplicationName; ApplicationNames = apiModel.ApplicationNames; ProductUri = apiModel.ProductUri; DiscoveryUrls = apiModel.DiscoveryUrls; ServerCapabilities = apiModel.ServerCapabilities; GatewayServerUri = apiModel.GatewayServerUri; DiscoveryProfileUri = apiModel.DiscoveryProfileUri; TrimLength = 40; }
public async Task RegisterAsync(ApplicationRecordApiModel apiModel) { try { if (apiModel.ApplicationType == Microsoft.Azure.IIoT.OpcUa.Api.Vault.Models.ApplicationType.Client) { apiModel.ServerCapabilities = null; apiModel.DiscoveryUrls = null; } var application = await this._opcVaultServiceClient.RegisterApplicationAsync(apiModel); } catch (Exception) { } }
public async Task <IActionResult> RequestAsync(string id) { AuthorizeClient(); try { var application = await _opcVault.GetApplicationAsync(id); UpdateApiModel(application); return(View(application)); } catch (Exception ex) { var application = new ApplicationRecordApiModel(); ViewData["ErrorMessage"] = "Failed to find the application with ApplicationId " + id + "\r\n" + "Message:" + ex.Message; return(View(application)); } }
public async Task <ActionResult> DetailsAsync(string id) { AuthorizeClient(); var application = new ApplicationRecordApiModel(); try { application = await _opcVault.GetApplicationAsync(id); if (application == null) { return(new NotFoundResult()); } return(View(application)); } catch (Exception ex) { ViewData["ErrorMessage"] = "An application with id " + id + " could not be found in the database.\r\n" + "Message:" + ex.Message; return(View(application)); } }
public async Task <IActionResult> RegisterAsync(string id) { var apiModel = new ApplicationRecordApiModel(); AuthorizeClient(); if (id != null) { try { apiModel = await _opcVault.GetApplicationAsync(id); ViewData["SuccessMessage"] = "Application with id " + id + " successfully loaded."; } catch (Exception ex) { ViewData["ErrorMessage"] = "An application with id " + id + " could not be found in the database.\r\n" + "Message:" + ex.Message; } } UpdateApiModel(apiModel); return(View(new ApplicationRecordRegisterApiModel(apiModel))); }
public override NodeId RegisterApplication( ApplicationRecordDataType application ) { bool isUpdate = true; string applicationId = null; NodeId appNodeId = base.RegisterApplication(application); if (NodeId.IsNull(appNodeId)) { isUpdate = false; } else { applicationId = OpcVaultClientHelper.GetServiceIdFromNodeId(appNodeId, NamespaceIndex); } string capabilities = base.ServerCapabilities(application); ApplicationRecordApiModel applicationModel = new ApplicationRecordApiModel( ApplicationState.New, (Microsoft.Azure.IIoT.OpcUa.Api.Vault.Models.ApplicationType)application.ApplicationType, applicationId ) { ApplicationUri = application.ApplicationUri, ApplicationName = application.ApplicationNames[0].Text, //ApplicationType = (ApplicationType)application.ApplicationType, ProductUri = application.ProductUri, ServerCapabilities = capabilities }; if (application.DiscoveryUrls != null) { applicationModel.DiscoveryUrls = application.DiscoveryUrls.ToArray(); } if (application.ApplicationNames != null && application.ApplicationNames.Count > 0) { var applicationNames = new List <ApplicationNameApiModel>(); foreach (var applicationName in application.ApplicationNames) { applicationNames.Add(new ApplicationNameApiModel() { Locale = applicationName.Locale, Text = applicationName.Text }); } applicationModel.ApplicationNames = applicationNames.ToArray(); } if (isUpdate) { applicationModel = _opcVaultServiceClient.UpdateApplication(applicationId, applicationModel); } else { applicationModel = _opcVaultServiceClient.RegisterApplication(applicationModel); applicationId = applicationModel.ApplicationId; } return(OpcVaultClientHelper.GetNodeIdFromServiceId(applicationId, NamespaceIndex)); }