N2C.VismaNET.SubscriptionHandler 1.0.0

dotnet add package N2C.VismaNET.SubscriptionHandler --version 1.0.0                
NuGet\Install-Package N2C.VismaNET.SubscriptionHandler -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="N2C.VismaNET.SubscriptionHandler" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add N2C.VismaNET.SubscriptionHandler --version 1.0.0                
#r "nuget: N2C.VismaNET.SubscriptionHandler, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install N2C.VismaNET.SubscriptionHandler as a Cake Addin
#addin nuget:?package=N2C.VismaNET.SubscriptionHandler&version=1.0.0

// Install N2C.VismaNET.SubscriptionHandler as a Cake Tool
#tool nuget:?package=N2C.VismaNET.SubscriptionHandler&version=1.0.0                

Subscription Handler

This package is a handler for the Visma.NET API and can be used to manage Subscriptions from the Visma.NET API. The project is written in C# and uses the .NET Core framework.

Installation

You can install the package from NuGet.

dotnet add package N2C.VismaNET.SubscriptionHandler

Version

The current version is 1.0.0 and this is the first version of the package.

Getting Started

You need to have a valid token to be able to use the API. You can get a token by using the Visma.net API Authentication. You can use the N2C.VismaNET.Token package.

The data model for the Subscription is located in the N2C.VismaNET.DTOs.Subscription namespace.

Usage

Use N2C.VismaNET.EventHandler to get available events.

    var eventHandler = new N2C.VismaNET.EventHandler.Get(AccessToken, TENANT);
    var events = eventHandler.GetEventsAsync().Result;

Get

To get subscriptions you need to use the Get class. Use the method GetSubscriptionsAsync to get all subscriptions.

    var getsubscriptionHandler = new N2C.VismaNET.SubscriptionHandler.Get(AccessToken, TENANT);
    var subscriptions = getsubscriptionHandler.GetSubscriptionsAsync().Result;
    subscriptions.ToList().ForEach(s =>
    {
        Console.WriteLine($"{s.Id} - {s.Event} - {s.HookUri}");
    });
    

To get a single subscription you need to use the GetSubscriptionAsync method and provide the subscription id.

    var subscription = getsubscriptionHandler.GetSubscriptionAsync(1).Result;

Post

To create a subscription you need to use the Post class. The method CreateSubscriptionAsync returns a Subscription and can be used to get the Id of the created subscription.

    var postsubscriptionHandler = new N2C.VismaNET.SubscriptionHandler.Post(AccessToken, TENANT);
    var create = postsubscriptionHandler.CreateSubscriptionAsync(new Subscription()
    {
        Event = "project_changed",
        HookUri = "https://webhook.site/8e7f6f8a-8b36-11ed-9891-0693d8a7c3dd"
    }).Result;

Put

Use Put to update a subscription. The subscription id is required. The method UpdateSubscriptionAsync returns a HttpResponseMessage and can be used to check the status code and reason phrase.

    var putSubscriptionHandler = new N2C.VismaNET.SubscriptionHandler.Put(AccessToken, TENANT);
    subscriptions.FirstOrDefault().HookUri = "https://webhookproxy.n2c.se/8e7f6f8a-8b36-11ed-9891-0693d8a7c3dd";
    var update = putSubscriptionHandler.UpdateSubscriptionAsync(subscriptions.FirstOrDefault()).Result;

Delete

    var deleteSubscriptionHandler = new N2C.VismaNET.SubscriptionHandler.Delete(AccessToken, TENANT);
        subscriptions.ToList().ForEach(s =>
    {
        Console.WriteLine($"{s.Id} - {s.Event} - {s.HookUri}");
        var result = deleteSubscriptionHandler.DeleteSubscriptionAsync(s.Id).Result;
        Console.WriteLine($"{(int)result.StatusCode} - {result.ReasonPhrase}");
    });

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 154 1/31/2024