コード例 #1
0
 /// <summary>
 /// Create from service model
 /// </summary>
 /// <param name="model"></param>
 public ApplicationRegistrationUpdateApiModel(ApplicationRegistrationUpdateModel model)
 {
     ProductUri          = model.ProductUri;
     ApplicationName     = model.ApplicationName;
     Locale              = model.Locale;
     Certificate         = model.Certificate;
     Capabilities        = model.Capabilities;
     DiscoveryUrls       = model.DiscoveryUrls;
     DiscoveryProfileUri = model.DiscoveryProfileUri;
 }
コード例 #2
0
        /// <inheritdoc/>
        public async Task UpdateApplicationAsync(
            string applicationId, ApplicationRegistrationUpdateModel request, CancellationToken ct)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request),
                                                "The application must be provided");
            }
            if (string.IsNullOrEmpty(applicationId))
            {
                throw new ArgumentNullException(nameof(applicationId),
                                                "The application id must be provided");
            }
            var context = request.Context.Validate();

            while (true)
            {
                var document = await _applications.FindAsync <ApplicationDocument>(applicationId);

                if (document == null)
                {
                    throw new ResourceNotFoundException("Application does not exist");
                }
                var application = document.Value.Clone();
                application.Patch(request);
                try {
                    var result = await _applications.ReplaceAsync(document, application);

                    var app = result.Value.ToServiceModel();
                    break;
                }
                catch (ResourceOutOfDateException) {
                    _logger.Verbose("Retry update application operation.");
                    continue;
                }
            }
        }
コード例 #3
0
 /// <inheritdoc/>
 public Task UpdateApplicationAsync(string applicationId,
                                    ApplicationRegistrationUpdateModel request, CancellationToken ct)
 {
     return(Task.FromException(new ResourceNotFoundException()));
 }
コード例 #4
0
 /// <inheritdoc/>
 public Task UpdateApplicationAsync(string applicationId,
                                    ApplicationRegistrationUpdateModel request, CancellationToken ct)
 {
     return(_client.UpdateApplicationAsync(applicationId, request.ToApiModel(), ct));
 }
コード例 #5
0
 /// <inheritdoc/>
 public Task UpdateApplicationAsync(string applicationId,
                                    ApplicationRegistrationUpdateModel request)
 {
     return(_client.UpdateApplicationAsync(applicationId,
                                           Map <ApplicationRegistrationUpdateApiModel>(request)));
 }