Context SDK 1.0.0
A software development kit for the context system.
ContextSDK.Context< TUser, TCommunication, TMessage > Template-Klassenreferenz

Diese Klasse ist ein Wrapper der ContextApi und erweitert sie um das Verwalten des angehängten Datenspeichers (DataStore). Die IActivityPersistence<TUser,TCommunication,TMessage> übernimmt dabei die spezifische DataStore-Logik. Mehr ...

Klassendiagramm für ContextSDK.Context< TUser, TCommunication, TMessage >:
ContextSDK.ContextApi ContextSDK.IContext Context.Api.MarshalByRefLifeMgmt ContextSDK.IContextApi ContextSDK.IContextApi

Öffentliche Methoden

 Context (IActivityPersistence< TUser, TCommunication, TMessage > activityPersistence, ContextConfiguration contextConfiguration)
 Ermöglicht es die ContextAPI anzusprechen und dabei automatisch den DataStore zu verwalten Mehr ...
 
async Task< Guid > LoginAsync (string userName, string password, bool autoRefresh)
 Loggt sich bei der API ein und holt den notwendigen JWT, welcher für alle API-Zugriffe verwendet wird. Mehr ...
 
async Task RefreshAsync ()
 Holt eine Liste von allen Aktivitäten seit dem letzten Zugriff. Beim Einlangen der Aktivitäten wird die im Konstruktor übergebene IActivityPersistence<TUser,TCommunication,TMessage> verwendet, um den DataStore am aktuellen Stand zu halten. Mehr ...
 
- Öffentliche Methoden geerbt von ContextSDK.ContextApi
void AddEventSink (ICompleteContextEventSink contextEventSink)
 Fügt das angegebene ICompleteContextEventSink zur Liste von Event-Sinks hinzu, sofern es sich nicht bereits in der Liste befindet. Mehr ...
 
void RemoveEventSink (ICompleteContextEventSink contextEventSink)
 Entfernt das angegebene ICompleteContextEventSink von Liste von Event-Sinks, sofern es sich in der Liste befindet. Mehr ...
 
 ContextApi (ContextApiConfiguration contextApiConfiguration)
 Abstrahiert alle API-Zugriffe. Diese Klasse führt Verschlüsselungen/Entschlüsselungen durch und erneuert den JWT-Token für API-Zugriff automatisch, wenn dieser abgelaufen ist. Weiters gibt es Methoden, welche zusätzliche Funktionen anbieten und mehrere direkte API-Zugriffe zusammenfassen. Mehr ...
 
async Task< Guid > LoginAsync (string userName, string password)
 Loggt sich bei der API ein und holt den notwendigen JWT, welcher für alle API-Zugriffe verwendet wird Mehr ...
 
async Task< Guid > CreateFileAndUploadToCommunicationAsync (Guid communicationGuid, CreateMessageWithFileModel createMessageWithFileModel)
 Erstellt die Datei Meta-Daten und ladet die Datei hoch. Mehr ...
 
async Task UploadFileChunkedAsync (Guid communicationGuid, Guid fileGuid, string filePath)
 Ladet eine Datei hoch. Dafür muss die Datei (die Meta-Daten) bereits erstellt sein. Mehr ...
 
async Task DownloadFileChunkedAsync (Guid communicationGuid, Guid fileGuid, string targetFilePath)
 Ladet eine Datei herunter. Mehr ...
 
async Task< string > GetOrRequestCryptoKeyAsync (Guid? communicationGuid)
 Holt den Schlüssel für die kryptografischen Vorgänge zu dieser Kommunikation. Mehr ...
 
async Task< Guid?> CreateNewCryptoKeysForNewCommunication ()
 Erstellt einen neuen Kryptografischen Schlüssel. Dies wird benötigt, um eine Kommunikation zu erstellen, da manche Daten der Kommunikation bereits verschlüsselt sind. Deswegen wird auch die Guid der Kommunikation zurückgegeben, welche auch benötigt wird um eine neue Kommunikation zu erstellen. Der kryptografische Schlüssel kann mit GetOrRequestCryptoKeyAsync angefragt werden. Mehr ...
 
async Task< List< ActivityBase > > GetActivitiesAsync (long? lastRequestTimestamp)
 Liefert eine Liste mit allen Aktivitäten, welche seit diesem Zeitpunkt erstellt wurden. Es wird empfohlen den lastRequestTimestamp von der API nehmen und nicht die lokale zeit in Unix-Millisekunden umzuwandeln Mehr ...
 
async Task< List< ActivityBase > > GetActivitiesAsync (Guid? lastGuid)
 Liefert eine Liste mit allen Aktivitäten, welche seit der angegebenen Aktivität erstellt wurden. Mehr ...
 
async Task< List< ActivityBase > > GetActivityAsync (Guid activityGuid)
 Holt eine einzelne Aktivität mit der angegebenen Guid. Mehr ...
 
async Task< int > GetActivityCountAsync (long? lastTsp)
 Holt die Anzahl von Aktivitäten, welche seit dem angegebenen Zeitpunkt erstellt wurden. Mehr ...
 
async Task NotifyByEmailAsync (Guid communicationGuid, Guid participantGuid, string email, string mailText, EmailNotificationTemplateType mailTemplateType, NotificationLinkType notificationLinkType)
 Sendet eine Benachrichtigung per Email and die angegebene Email-Adresse. Mehr ...
 
async Task NotifyBySmsAsync (Guid communicationGuid, Guid participantGuid, string smsText, NotificationLinkType notificationLinkType)
 Sendet eine Benachrichtigung per SMS and die angegebene Telefonnummer. Mehr ...
 
async Task SendSmsAsync (string phoneNumber, string text)
 Sendet eine SMS an die gewünschte Telefonnummer. Mehr ...
 
async Task< FileMetaDataGetFileMetaDataAsync (Guid fileResourceGuid)
 Holt die Meta-Daten für eine Datei. Mehr ...
 
async Task< FileChunksMetaDataGetFileChunksAsync (Guid fileResourceGuid)
 Holt die Meta-Daten der Datei-Chunks für die angegebene Datei. Diese Meta-Daten werden benötigt, um eine Datei herunterzuladen, da darin die Chunk-Guids enthalten sind mit denen die einzelnen Chunks anschließend heruntergeladen werden können. Mehr ...
 
async Task DownloadChunkAsync (Stream downloadedData, Guid communicationGuid, Guid fileResourceGuid, Guid chunkGuid, string chunkCheckSum=null)
 Ladet einen bestimmten Chunk einer Datei herunter. Wenn chunkCheckSum angegeben wird, wird diese überprüft. Mehr ...
 
async Task UploadChunkAsync (Guid communicationGuid, Guid fileResourceGuid, MemoryStream chunkData, int currentChunkNumber, int numberOfChunks, string encryptedFileName)
 Lädt einen Datei-Chunk zu einer existierenden Datei hoch. Mehr ...
 
async Task ConfirmDownloadSuccessfulAsync (Guid fileResourceGuid)
 Bestätigt den erfolgreichen Download einer Datei. Dies erzeugt anschließend eine FileDownloadedActivity, welche verwendet werden kann, um festzustellen, welche Personen bereits diese Datei heruntergeladen haben. Mehr ...
 
async Task< List< ContextCommunication > > GetCommunicationsAsync ()
 Liefert eine Liste von allen Kommunikationen auf die der angemeldete Benutzer Zugriff hat. Mehr ...
 
async Task< Guid > CreateCommunicationAsync (CreateCommunicationModel createCommunicationModel)
 Erstellt eine neue Kommunikation. Mehr ...
 
async Task DeleteCommunicationAsync (Guid communicationGuid)
 Löscht eine Kommunikation. Mehr ...
 
async Task UpdateCommunicationAsync (Guid communicationGuid, ContextCommunicationUpdateModel model)
 Bearbeitet eine Kommunikation. Mehr ...
 
async Task< EndOfLifeTimeModelGetCommunicationDeletionDateTimeAsync (Guid communicationGuid)
 Holt den Zeitpunkt zu dem diese Kommunikation automatisch gelöscht wird. Mehr ...
 
async Task< List< Guid > > GetKnownCommunicationsAsync ()
 Liefert eine Guids von Kommunikationen zu denen der angemeldete Benutzer Zugriff hat. Mehr ...
 
async Task< List< ActivityBase > > GetActivitiesForCommunicationAsync (Guid communicationGuid, Guid? lastActivityGuid)
 Liefert alle Aktivitäten der angegebenen Kommunikation. Optional kann eine Aktivitäts-Guid angegeben werden, sodass nur Aktivitäten geholt werden die älter als die angegebene Aktivität sind. Mehr ...
 
async Task< int > GetCountActivitiesForCommunicationAsync (Guid communicationGuid, Guid? lastGuidToCountFrom)
 Liefert die Anzahl der Aktivitäten der angegebenen Kommunikation. Optional kann eine Aktivitäts-Guid angegeben werden, sodass nur Aktivitäten gezählt werden die älter als die angegebene Aktivität sind. Mehr ...
 
async Task< List< Guid > > GetFilesInCommunicationAsync (Guid communicationGuid)
 Holt alle Dateien der angegebenen Kommunikation.. Mehr ...
 
async Task< Guid > CreateFileMetaDataForCommunicationAsync (Guid communicationGuid, string localFilePath, string fileDisplayName, string message)
 Erstellt die Meta-Daten einer Datei. Dies ist notwendig bevor eine Datei hochgeladen werden kann. Mehr ...
 
async Task RemoveFileFromCommunicationAsync (Guid communicationGuid, Guid fileResourceGuid)
 Löscht die angegebene Datei aus der Kommunikation. Mehr ...
 
async Task< List< Guid > > GetMessagesInCommunicationAsync (Guid communicationGuid)
 Liefert eine Liste von Nachrichten-Guids, welche in dieser Kommunikation sind. Mehr ...
 
async Task< Guid > AddMessageToCommunicationAsync (Guid communicationGuid, CreateMessageModel createMessageModel, Guid? parentMessageGuid=null)
 Erstellt eine neue Nachricht in der angegebenen Kommunikation. Mehr ...
 
async Task RemoveMessageFromCommunicationAsync (Guid communicationGuid, Guid messageResourceGuid)
 Löscht eine Nachricht aus einer Kommunikation. Mehr ...
 
async Task< List< Guid > > GetParticipantsInCommunicationAsync (Guid communicationGuid)
 Liefert eine Liste der Teilnehmer in der angegebenen Kommunikation. Mehr ...
 
async Task AddParticipantToCommunicationAsync (Guid communicationGuid, Guid participantGuid, bool sendEmailNotification)
 Fügt einen Benutzer zu einer Kommunikation hinzu. Mehr ...
 
async Task RemoveParticipantFromCommunicationAsync (Guid communicationGuid, Guid participantGuid)
 Entfernt einen Teilnehmer aus einer Kommunikation. Mehr ...
 
async Task< Model.MessageModelGetMessageAsync (Guid messageResourceGuid)
 Holt eine einzelne Nachricht. Mehr ...
 
async Task< List< ParticipantModel > > GetKnownParticipantsAsync ()
 Holt einer Liste von Teilnehmern mit denen der angemeldete Benutzer in Kontakt steht. Mehr ...
 
async Task< CreateParticipantResultModelCreateParticipantAsync (CreateParticipantModel createParticipantModel)
 Erstellt einen neuen Benutzer. Mehr ...
 
async Task< ParticipantModel > GetParticipantAsync (Guid participantGuid)
 Holt einen einzelnen Benutzer. Mehr ...
 
async Task UpdateParticipantAsync (Guid participantGuid, ParticipantUpdateModel model)
 
async Task VerifyCodeToUpdateParticipantAsync (Guid participantGuid, string code)
 Bestätigt die Änderung der Benutzerdaten. Mehr ...
 
async Task< FindParticipantResultModelFindParticipantAsync (string username=null, string email=null, string phoneNumber=null)
 Sucht nach einen existierenden Benutzer. Es muss mindestens ein Suchparameter angegeben werden und alle gleichzeitig. Die Angabe mehrere Suchparameter kann die Suche möglicherweise einschränken und somit ein eindeutiges Ergebnis liefern. Mehr ...
 
async Task< ApiStatusGetApiStatusAsync ()
 Gibt den aktuellen Status der API zurück Mehr ...
 
async Task< string > GetGeneratedPasswordAsync (int? length=null)
 Kann verwendet werden, um ein Passwort zu generieren, welches alle Passwortrichtlinien bei der Erstellung von Benutzer erfüllt. Mehr ...
 
async Task< List< object > > GetStatisticsAsync (DateTime from, DateTime to, bool extended)
 Liefert Statistiken zum aktuell angemeldeten Benutzer. Mehr ...
 
async Task< string > GetFormattedPhoneNumberAsync (string phoneNumber)
 Throws exceptions if the phoneNumber is not valid. Can therefore be used to validate a phone number. Mehr ...
 
- Öffentliche Methoden geerbt von Context.Api.MarshalByRefLifeMgmt
virtual void CloseSponsoring ()
 Beendet das Sponsoring der aktuellen Instanz für den DGC.
 
virtual void StartSponsoring ()
 Startet das Sponsoring der aktuellen Instanz (neu) für den DGC. Das Sponsoring dieser Instanz ist vom Konstruktor an aktiv, es sei denn CloseSponsoring wurde bereits aufgerufen. Falls diese Instanz bereits effektiv Disposed wurde, ist dieser Aufruf allerdings wirkungslos.
 
IDisposable GetUsageSection ()
 Wer diese Methode aufruft, kennzeichnet, dass er das MarshalByRefWithLifetimeManagement-Objekt noch braucht! Wenn, solange die zurückgegebene Usage nicht disposed wurde, das MarshalByRefWithLifetimeManagement-Objekt disposed wird, wird es nicht wirklich disposed, sondern erst, wenn alle UsageHandler disposed wurden!
 
void Dispose ()
 Gibt alle verwendeten Ressourcen frei. Beendet auch das Sponsoring für den DGC.
 
- Öffentliche Methoden geerbt von ContextSDK.IContextApi
Task UpdateParticipantAsync (Guid participantGuid, ParticipantUpdateModel model)
 Bearbeitet einen existierenden Benutzer. Die Benutzerdaten werden erst nach einer Personenverifizierung tatsächlich geändert, siehe: VerifyCodeToUpdateParticipantAsync. Mehr ...
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von ContextSDK.ContextApi
override void Dispose (bool yInDispose)
 Schließt Sponsoring. Soll beim Ableiten alle Ressourcen freigeben. Mehr ...
 
- Geschützte Methoden geerbt von Context.Api.MarshalByRefLifeMgmt
 MarshalByRefLifeMgmt ()
 Trivialkonstruktor
 
- Propertys geerbt von ContextSDK.ContextApi
ContextApiConfiguration ContextApiConfiguration [getset]
 Einstellungen für die API-Zugriffe
 
Guid CurrentLoggedInUserId [get]
 Die Guid des derzeit eingeloggten Benutzers (ParticipantGuid)
 
DateTime LastApiTokenRequest [get]
 Speichert den Zeitpunkt des letzten Logins
 
EventHandlerManager Events = new EventHandlerManager() [get]
 Stellt eine Liste von EventHandler bereit, um Events entgegenzunehmen
 
- Propertys geerbt von Context.Api.MarshalByRefLifeMgmt
bool SponsoringAlive [get]
 Wenn true ist das Sponsoring dieser Instanz für den DGC gestartet, wenn false dann nicht.
 
virtual bool IsDisposed [get]
 Wenn true wurde bereits effektiv Dispose aufgerufen!
 

Ausführliche Beschreibung

Diese Klasse ist ein Wrapper der ContextApi und erweitert sie um das Verwalten des angehängten Datenspeichers (DataStore). Die IActivityPersistence<TUser,TCommunication,TMessage> übernimmt dabei die spezifische DataStore-Logik.

Template-Parameter
TUserDer Typ von Benutzer-Objekten
TCommunicationDer Typ von Kommunikation-Objekten
TMessageDer Typ von Nachricht-Objekten
Type Constraints
TUser :IContextUser 
TCommunication :IContextCommunication 
TMessage :IContextMessage 

Beschreibung der Konstruktoren und Destruktoren

◆ Context()

ContextSDK.Context< TUser, TCommunication, TMessage >.Context ( IActivityPersistence< TUser, TCommunication, TMessage >  activityPersistence,
ContextConfiguration  contextConfiguration 
)

Ermöglicht es die ContextAPI anzusprechen und dabei automatisch den DataStore zu verwalten

Parameter
activityPersistenceStellt die Anbindung zum DataStore dar und beinhaltete spezifische Logik wie der DataStore verwendet wird.
contextConfigurationEinstellungen für die API-Zugriffe.

Dokumentation der Elementfunktionen

◆ LoginAsync()

async Task< Guid > ContextSDK.Context< TUser, TCommunication, TMessage >.LoginAsync ( string  userName,
string  password,
bool  autoRefresh 
)

Loggt sich bei der API ein und holt den notwendigen JWT, welcher für alle API-Zugriffe verwendet wird.

Implementiert ContextSDK.IContext.

◆ RefreshAsync()

async Task ContextSDK.Context< TUser, TCommunication, TMessage >.RefreshAsync ( )

Holt eine Liste von allen Aktivitäten seit dem letzten Zugriff. Beim Einlangen der Aktivitäten wird die im Konstruktor übergebene IActivityPersistence<TUser,TCommunication,TMessage> verwendet, um den DataStore am aktuellen Stand zu halten.

Implementiert ContextSDK.IContext.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: