コード例 #1
0
        public async Task <ApplicationRegistrationResponseApiModel> CreateApplicationAsync(
            [FromBody][Required] ApplicationRegistrationRequestApiModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var result = await _applications.RegisterAsync(
                request.ToServiceModel());

            return(new ApplicationRegistrationResponseApiModel(result));
        }
コード例 #2
0
        public async Task <ApplicationRegistrationResponseApiModel> CreateApplicationAsync(
            [FromBody][Required] ApplicationRegistrationRequestApiModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var model = request.ToServiceModel();
            // TODO: applicationServiceModel.AuthorityId = User.Identity.Name;
            var result = await _applications.RegisterApplicationAsync(model);

            return(result.ToApiModel());
        }
コード例 #3
0
        /// <inheritdoc/>
        public async Task <ApplicationRegistrationResponseApiModel> RegisterAsync(
            ApplicationRegistrationRequestApiModel content, CancellationToken ct)
        {
            if (content == null)
            {
                throw new ArgumentNullException(nameof(content));
            }
            if (string.IsNullOrEmpty(content.ApplicationUri))
            {
                throw new ArgumentNullException(nameof(content.ApplicationUri));
            }
            var request = _httpClient.NewRequest($"{_serviceUri}/v2/applications",
                                                 _resourceId);

            request.SetContent(content);
            var response = await _httpClient.PutAsync(request, ct).ConfigureAwait(false);

            response.Validate();
            return(response.GetContent <ApplicationRegistrationResponseApiModel>());
        }
コード例 #4
0
 /// <summary>
 /// Convert to service model
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static ApplicationRegistrationRequestModel ToServiceModel(
     this ApplicationRegistrationRequestApiModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new ApplicationRegistrationRequestModel {
         ApplicationType = (IIoT.OpcUa.Core.Models.ApplicationType?)model.ApplicationType,
         ApplicationUri = model.ApplicationUri,
         ApplicationName = model.ApplicationName,
         Locale = model.Locale,
         LocalizedNames = model.LocalizedNames?
                          .ToDictionary(k => k.Key, v => v.Value),
         ProductUri = model.ProductUri,
         DiscoveryProfileUri = model.DiscoveryProfileUri,
         DiscoveryUrls = model.DiscoveryUrls,
         SiteId = model.SiteId,
         GatewayServerUri = model.GatewayServerUri,
         Capabilities = model.Capabilities
     });
 }