Show / Hide Table of Contents

Interface IDiagnosticsAgent

Interface for the Diagnostics Agent Diagnostics, usage data collection, caches and flushing

Namespace: SuperOffice.CRM.Services
Assembly: SuperOffice.Services.dll
Syntax
[Agent("Diagnostics Agent", "Interface for the Diagnostics Agent. Diagnostics, usage data collection, caches and flushing")]
public interface IDiagnosticsAgent : IAgent
Examples
using SuperOffice;
using SuperOffice.CRM.Services;

using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
   using (DiagnosticsAgent agent = new DiagnosticsAgent())
   {
      // call methods on agent here...
   }
}

Methods

AddWebAppUsageAsync(WebAppUsage[], CancellationToken)

Adds WebApp usage to existing log

Declaration
Task AddWebAppUsageAsync(WebAppUsage[] webAppUsages, CancellationToken cancellationToken = default)
Parameters
Type Name Description
WebAppUsage[] webAppUsages

Web app usage.

CancellationToken cancellationToken
Returns
Type Description
Task

ChangeLogSettingsAsync(bool, bool, bool, bool, bool, bool, bool, bool, CancellationToken)

Change NetServer log settings.

Declaration
Task ChangeLogSettingsAsync(bool logWarning, bool logInformation, bool logSuccessAudit, bool logFailureAudit, bool logToEventLog, bool logToSuperOffice, bool logToFile, bool logToTrace, CancellationToken cancellationToken = default)
Parameters
Type Name Description
bool logWarning

Turn on warning log

bool logInformation

Turn on information log

bool logSuccessAudit

Turn on success audit log

bool logFailureAudit

Turn on failure audit log

bool logToEventLog

Log to event log

bool logToSuperOffice

Log to SuperOffice

bool logToFile

Log to file

bool logToTrace

Log to trace

CancellationToken cancellationToken
Returns
Type Description
Task

CollectDataAdditionsAsync(CancellationToken)

Collect and transmit usage statistics: Database Additions. If opted-out then this call does nothing. The call returns immediately (starting a background thread), and updates CS scheduler table to set the next run time.

Declaration
Task CollectDataAdditionsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

CollectTableSizesAsync(CancellationToken)

Collect and transmit usage statistics: Table Sizes. If opted-out then this call does nothing. The call returns immediately (starting a background thread), and updates CS scheduler table to set the next run time.

Declaration
Task CollectTableSizesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

CollectWebUsageAsync(CancellationToken)

Collect and transmit usage statistics: Web-based clients Usage. If opted-out then this call does nothing. The call returns immediately (starting a background thread), and updates CS scheduler table to set the next run time.

Declaration
Task CollectWebUsageAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

CollectWinUsageAsync(CancellationToken)

Collect and transmit usage statistics: Windows CRM Client Usage. If opted-out then this call does nothing. The call returns immediately (starting a background thread), and updates CS scheduler table to set the next run time.

Declaration
Task CollectWinUsageAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

FlushCachesAsync(CancellationToken)

Flushes all NetServer caches

Declaration
Task FlushCachesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

FlushCachesByNameAsync(string[], CancellationToken)

Flushes all NetServer caches named

Declaration
Task FlushCachesByNameAsync(string[] cacheNames, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string[] cacheNames

Name of the cachnes to flush

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

GetCacheInvalidationGenerationsAsync(string[], CancellationToken)

Get generation for provided names

Declaration
Task<CacheInvalidation[]> GetCacheInvalidationGenerationsAsync(string[] names, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string[] names

Name of caches

CancellationToken cancellationToken
Returns
Type Description
Task<CacheInvalidation[]>

Array of caches with generation number

GetCacheNamesAsync(CancellationToken)

Get the name of the caches that can be flushed

Declaration
Task<string[]> GetCacheNamesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<string[]>

Name of the caches that can be flusehd

GetCacheStateAsync(string[], CancellationToken)

Get the current generation value of the named caches. State is opaque.

Declaration
Task<string> GetCacheStateAsync(string[] cacheNames, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string[] cacheNames

Names of the caches to check

CancellationToken cancellationToken
Returns
Type Description
Task<string>

Current state of the caches named. If not the same as previous value, then it is time to flush

GetEntityCountsForAllUsersAsync(CancellationToken)

Get an array of entities and number of entities created for all associates.

Declaration
Task<EntityCounts[]> GetEntityCountsForAllUsersAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<EntityCounts[]>

Array of EntityCounts[] for all the users

GetEntityCountsForCurrentUserAsync(CancellationToken)

Get an array of entities and number of entities created for the current associate

Declaration
Task<EntityCounts[]> GetEntityCountsForCurrentUserAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<EntityCounts[]>

Array of EntityCounts[] for the current associate

GetNextTableNumberAsync(CancellationToken)

Increment save and return NextTableNumber, to be used when creating new extra table

Declaration
Task<int> GetNextTableNumberAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<int>

NextTableNumber of DatabaseModel

GetSystemMessagesAsync(int, CancellationToken)

Retrieves a list of system messages for a specific associate.

Declaration
Task<SystemMessage[]> GetSystemMessagesAsync(int associateId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int associateId

The associateId of the message target.

CancellationToken cancellationToken
Returns
Type Description
Task<SystemMessage[]>

List of SystemMessages for desired associate

GetWebAppUsagesForPeriodAsync(DateTime, DateTime, string, CancellationToken)

Get all WebAppUsages for a given period, that match an optional search term

Declaration
Task<WebAppUsage[]> GetWebAppUsagesForPeriodAsync(DateTime fromDate, DateTime toDate, string searchTerm, CancellationToken cancellationToken = default)
Parameters
Type Name Description
DateTime fromDate
DateTime toDate
string searchTerm

ViewState search term. '%' is the wildcard character, for example 'Pocket%' will match all viewstates starting with 'Pocket'. If empty, all viewstates will be matched

CancellationToken cancellationToken
Returns
Type Description
Task<WebAppUsage[]>

LogViewStateAsync(string, CancellationToken)

Log a change in view state. The granularity of the logging depends on the current configuration. This call returns asynchronously, leaving the server to finish processing later on.

Declaration
Task LogViewStateAsync(string viewState, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string viewState

Current view state to be logged

CancellationToken cancellationToken
Returns
Type Description
Task

PerformTasksAfterCustomObjectTableDeletedAsync(string, CancellationToken)

A temporary method to be used from c++ until CustomObjectsAgent.DeleteTable implemented in NetServer

Declaration
Task PerformTasksAfterCustomObjectTableDeletedAsync(string tableName, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string tableName

Name of DB table of the custom object that was deleted. E.g., 'y_car'

CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

PerformTasksAfterUpgradeAsync(CancellationToken)

After upgrading to a new fileset, there may be tasks that need to be done. Examples - import new TypicalSearches, if present. Tasks performed here need to be idempotent and independent of the actual upgrade jump (what was the previous version). They should complete in a reasonable time, not more than a few minutes maximum.

Declaration
Task<string> PerformTasksAfterUpgradeAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<string>

Message that can be shown to the user, summarizing what has been done, if anything.

RemoveExpiredSystemMessagesAsync(CancellationToken)

Deletes expired system messages.

Declaration
Task RemoveExpiredSystemMessagesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

RemoveSystemMessageAsync(int, string, CancellationToken)

Removes a system message for current associate

Declaration
Task RemoveSystemMessageAsync(int onlineappId, string systemMessageId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int onlineappId

Id of the online app that owns this message

string systemMessageId

Message identifier, used for message removal

CancellationToken cancellationToken
Returns
Type Description
Task

RemoveSystemMessageForAssociateAsync(int, string, int, CancellationToken)

Removes a system message for specific associate.

Declaration
Task RemoveSystemMessageForAssociateAsync(int onlineappId, string systemMessageId, int associateId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int onlineappId

Id of the online app that owns this message

string systemMessageId

Message identifier, used for message update or removal

int associateId

The associateId of the message target.

CancellationToken cancellationToken
Returns
Type Description
Task

ResyncUsersAsync(CancellationToken)

Resynchronize user information with SuperOffice Community, if opted-out then this call does nothing. The call returns immediately (starting a background thread), and updates CS scheduler table to set the next run time.

Declaration
Task ResyncUsersAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

This method has no return value

SendSystemMessageAsync(string, int, string, DateTime, SystemMessageType, CancellationToken)

Adds a system message for a specific associate.

Declaration
Task SendSystemMessageAsync(string systemMessageId, int associateId, string markdownMessage, DateTime expire, SystemMessageType type, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string systemMessageId

The message string id

int associateId

The associateId of the message target.

string markdownMessage

Markdown message to be displayed to the user

DateTime expire

When the message will no longer be available

SystemMessageType type

Type of message, example: info, warning, error

CancellationToken cancellationToken
Returns
Type Description
Task

WebAppUsageExistsInPeriodAsync(int, string, DateTime, CancellationToken)

Returns true if viewState has been clicked at least once since FromDate, if asscoiateId < 0 or FromDate is DateTime.MinValue no restriction given for those parameters

Declaration
Task<bool> WebAppUsageExistsInPeriodAsync(int associateId, string viewState, DateTime fromDate, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int associateId

The asscoiate id to look for webapp usage

string viewState

The viewState to search for

DateTime fromDate

The datetime to restrict webapp usage on

CancellationToken cancellationToken
Returns
Type Description
Task<bool>

Returns true if viewState has been clicked at least once since FromDate

© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top