/// <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; }
/// <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; } } }
/// <inheritdoc/> public Task UpdateApplicationAsync(string applicationId, ApplicationRegistrationUpdateModel request, CancellationToken ct) { return(Task.FromException(new ResourceNotFoundException())); }
/// <inheritdoc/> public Task UpdateApplicationAsync(string applicationId, ApplicationRegistrationUpdateModel request, CancellationToken ct) { return(_client.UpdateApplicationAsync(applicationId, request.ToApiModel(), ct)); }
/// <inheritdoc/> public Task UpdateApplicationAsync(string applicationId, ApplicationRegistrationUpdateModel request) { return(_client.UpdateApplicationAsync(applicationId, Map <ApplicationRegistrationUpdateApiModel>(request))); }