This C# SDK is automatically generated by the OpenAPI Generator project. For more information, please visit
- https://www.scopevisio.com
- https://www.openscope.de/
- https://appload.scopevisio.com/rest/swagger.json
- Interactive documenation generated by OpenApi Generator
These separately versioned repositories form the CompuMaster.Dms ecosystem; they are not Git submodules. Repository names, local directory names, and NuGet package IDs can differ.
| Component | Repository | Responsibility |
|---|---|---|
| CompuMaster.Dms | CompuMaster.Dms | Provider-independent DMS workflows, provider adapters, and BrowserUI. |
| CompuMaster.Ocs | CompuMaster.OpenCollaborationService | ownCloud/Nextcloud OCS protocol, sharing, and account/group operations. |
| CompuMaster.Scopevisio.OpenApi | CompuMaster.Scopevisio.OpenApi | Scopevisio OpenScope REST API and authorization. |
| CompuMaster.Scopevisio.Teamwork | CompuMaster.Scopevisio.Teamwork | Teamwork integration connecting OpenScope authorization with CenterDevice clients. |
| CompuMaster.CenterDevice | CompuMaster.CenterDevice.IO | CenterDevice REST and file-system SDK; the DMS package dependency is CompuMaster.CenterDevice.Rest. |
DMS uses WebDAV for ownCloud/Nextcloud file operations and OCS for supported sharing operations. Teamwork builds on OpenScope and CenterDevice clients. Actual package versions and optional source references are defined by the project files on the branch being tested; an unmerged upstream change is not automatically available in DMS.
For cross-repository work, evaluate the affected libraries before adding a DMS-only workaround. Keep reusable protocol, authentication, transport, and SDK behavior in its owning library, while DMS retains the common workflow/capability model and UI mapping. Preserve standalone library consumers, synchronous APIs, identity semantics, and existing defaults.
Track each upstream change in an issue in its owning repository, link its implementing PR there, and reference that issue as a dependency in the affected DMS issue. Keep reciprocal links, exact commit/package versions, integration order, and verification status current. Distinguish implemented, tested, merged, published, and consumed states; do not close a dependency merely because an upstream branch is green.
Shared remote test systems require coordinated exclusive access across repositories and local sessions, including setup and cleanup. Identically named GitHub Actions concurrency groups in different repositories do not provide a shared lock. See AGENTS.md for working rules.
- .NET 6.0 or later
- .NET Framework 4.8 or later
- .NET Standard 2.0 or later
Create a new C# console application project for .NET Framework. Add NuGet dependency CompuMaster.Scopevisio.OpenApi and start coding:
using CompuMaster.Scopevisio.OpenApi;
using CompuMaster.Scopevisio.OpenApi.Api;
using CompuMaster.Scopevisio.OpenApi.Client;
using CompuMaster.Scopevisio.OpenApi.Model;
using System;
using System.Threading.Tasks;
namespace ConsoleSampleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter username: ");
string username = Console.ReadLine();
Console.WriteLine("Please enter customer no.: ");
string customerno = Console.ReadLine();
Console.WriteLine("Please enter password: ");
string password = Console.ReadLine();
OpenScopeApiClient OpenScopeClient = new OpenScopeApiClient();
try
{
OpenScopeClient.AuthorizeWithUserCredentials(username, customerno, password);
System.Console.WriteLine("Authorization successful, future requests can be executed with access token:\n" + OpenScopeClient.Token.AccessToken);
System.Console.WriteLine();
CompuMaster.Scopevisio.OpenApi.Model.Version VersionResult = OpenScopeClient.AdditionalApi.GetVersionWithHttpInfo().Data;
System.Console.WriteLine("Interface version=" + VersionResult.ToString());
System.Console.WriteLine();
CompuMaster.Scopevisio.OpenApi.Model.Hello HelloResult = OpenScopeClient.AdditionalApi.HelloJsonWithHttpInfo().Data;
System.Console.WriteLine("Hello world=" + HelloResult.HelloMessage);
System.Console.WriteLine();
Task<CompuMaster.Scopevisio.OpenApi.Model.Hello> t = HelloTask(OpenScopeClient);
t.Wait();
System.Console.WriteLine("Async hello world=" + t.Result.HelloMessage);
System.Console.WriteLine();
}
catch (ApiException e)
{
System.Console.WriteLine("Exception when calling API: " + e.Message);
System.Console.WriteLine("Status Code: " + e.ErrorCode);
System.Console.WriteLine(e.StackTrace);
}
catch (Exception e)
{
System.Console.WriteLine("Exception: " + e.ToString());
}
}
/// <summary>
/// Sample of async call
/// </summary>
/// <param name="openScopeClient"></param>
/// <returns></returns>
static async Task<CompuMaster.Scopevisio.OpenApi.Model.Hello> HelloTask(OpenScopeApiClient openScopeClient)
{
ApiResponse<CompuMaster.Scopevisio.OpenApi.Model.Hello> HelloResponse = await openScopeClient.AdditionalApi.HelloJsonAsyncWithHttpInfo();
return HelloResponse.Data;
}
}
}Please enter username:
jon.doe@foo.bar
Please enter customer no.:
1234567
Please enter password:
*******************
Authorization successful, future requests can be executed with access token:
4792ad4F-eeac34D0-44AF-8AD2-9Baf1aBA8556B2343
Interface version=class Version {
BuildDate: 11.05.2020 09:36:00
BuildNumber: 19585
CommitHash: 9a6ed04ce34c80422ee74a46191f2eb028f3f369
CommitDate: 11.05.2020 09:34:41
}
Hello world=jon.doe@foo.bar
Async hello world=jon.doe@foo.bar