Mercator maakt het mogelijk om bundels in te stellen van het type “Notificatie” voor MercatorPenguin. Deze instelling kan meerdere stappen bevatten. Hierdoor kan de gebruiker bijvoorbeeld de details van een record uit de vorige stap verkrijgen. Dit type bundel kan maximaal 9 stappen bevatten.
Deze bundels functioneren exact zoals bundels van het type “Lijst”, met als enige verschil dat er in de beginfase geen XAML-code is voor het opzoeken van gegevens. Deze bundels bevatten dus geen zoekformulier, dat zich doorgaans bovenaan het scherm bevind in de eerste stap. De SQL-parameters van de zoekopdracht worden inderdaad doorgegeven aan de C#-code, gestuurd vanuit Mercator, die de notificatie verzend.
Als u een melding wilt verzenden moet u C#-code schrijven die gekoppeld is aan een Mercator-event. Bijvoorbeeld
- bij het bewaren van een document in het commercieel beheer (een webbestelling bijvoorbeeld)
- een kassa-opening of -sluiting.
- ...
En melding wordt altijd geïnitialiseerd door C#-code binnen Mercator. Om dit te doen, moet je één van volgende methoden gebruiken:
public static int MercatorPenguin.NotificationClient.Send(string message, string bundleId, Dictionary<string, object> dicoParams, string[] onlyTheseIdUsers = null, ResultMode resultMode = ResultMode.Stop);
public static int MercatorPenguin.NotificationClient.Send(string message, Guid bundleId, Dictionary<string, object> dicoParams, string[] onlyTheseIdUsers = null, ResultMode resultMode = ResultMode.Stop);
public static Task<int> MercatorPenguin.NotificationClient.SendAsync(string message, string bundleId, Dictionary<string, object> dicoParams, string[] onlyTheseIdUsers = null, ResultMode resultMode = ResultMode.Notify);
public static Task<int> MercatorPenguin.NotificationClient.SendAsync(string message, Guid bundleId, Dictionary<string, object> dicoParams, string[] onlyTheseIdUsers = null, ResultMode resultMode = ResultMode.Notify);
De parameters die aan deze methoden worden doorgegeven zijn:
- message : de inhoud van het bericht dat weergegeven moet worden in de notificatie van het mobiele apparaat.
- bundleId : de identifier van de notificatiebundel in de tabel PENGUIN_BUNDLES.
- dicoParams : woordenboek met de SQL-parameters en hun waarde. Dit vervangt het zoekformulier van bundels van het type “Lijst”.
- onlyTheseIdUsers : optionele parameter die de lijst met ID’s uit de tabel USERS bevat naar wie de melding verzonden moet worden. Als deze parameter niet is meegegeven, ontvangen alle gebruikers bij wie deze bundel is ingesteld de notificatie.
- resultMode :
- none : Er worden geen resultaten of foutberichten weergegeven aan de gebruiker. In dit geval zijn eventuele fouten beschikbaar in Api.LastError.
- Stop : Een dialoogvenster geeft het aantal verzonden meldingen weer, indien er een fout optrad zal de foutmelding weergegeven worden.
- Notify: een pop-upvenster rechtsonder het Mercator-scherm geeft het aantal verzonden meldingen weer, indien er een fout optrad zal de foutmelding weergegeven worden.
Async -methoden maken asynchrone uitvoering mogelijk.
Vooraleer een gebruiker meldingen kan ontvangen, moet er aan deze voorwaarden voldaan worden:
- De notificatiebundel moet gekoppeld zijn aan het profiel van de gebruiker binnen Mercator.
- Indien de notificatiebundel recent aangemaakt werd, is het noodzakelijk dat de gebruiker zijn lijst met bundels ververst op zijn mobiel apparaat, door dit naar beneden te trekken. Opgelet deze bundel is niet zichtbaar.
- Indien men de parameter onlyTheseIdUsers wilt meegeven in de C#-code, moet men een array meegeven met hierin het gebruikers-ID (Users.id)
- Op uw mobiel apparaat moet u het ontvangen van meldingen inschakelen. Dit gebeurt in het informatiescherm. Het apparaat kan meldingen ontvangen indien men “ID=…” vermeld onder de notificatieschakelaar.
- Onder iOS moet men aangeven dat de MercatorPenguin-applicatie geautoriseerd moet zijn om notificaties te ontvangen. Dit wordt automatisch geactiveerd door notificaties te accepteren, wanneer de applicatie voor het eerst opgestart wordt.
Hieronder staan twee voorbeelden van minimum-code om een melding te initiëren:
dicoParams.Add("@message", "Inhoud om door te geven naar stap 1 van de bundel");
MercatorPenguin.NotificationClient.Send("Dit is de inhoud van het bericht.", "eb2ee38e-a21f-4b48-8d26-37a6f5391596", dicoParams);
dicoParams.Add("@message", "Inhoud om door te geven naar stap 1 van de bundel ");
string[] onlyThisUser = new string[1] { "1RXN0HUV8R" };
MercatorPenguin.NotificationClient.Send("Dit is de inhoud van het bericht.", "eb2ee38e-a21f-4b48-8d26-37a6f5391596", dicoParams, onlyThisUser);
De bovenstaande code kan gebruikt worden met deze bundel. Het zal echter nodig zijn om de waarde van het bundelID te wijzigen in de C#-code die zich in uw database bevindt.
Snelle installatie: het bestand Message simple.pngb kan ingelezen worden via de knop "Openen", onderaan in het configuratiescherm.