Table of Contents

Class Origin

Namespace
Shift.Common
Assembly
Shift.Common.dll

Represents the original context for some action in the system (e.g., operation, event, change, etc.).

public class Origin
Inheritance
Origin
Inherited Members
Extension Methods

Constructors

Origin()

public Origin()

Properties

Description

Details about the action.

public string Description { get; set; }

Property Value

string

Remarks

This optional property answers the question, "What happened?".

Organization

Unique identifier for an organization.

public Guid Organization { get; set; }

Property Value

Guid

Remarks

This identifies the organization account in which an action occurred. Organization accounts are used to partition data within an enterprise account.

Proxy

Identifies the individual authorized to act on behalf of the user.

public Guid? Proxy { get; set; }

Property Value

Guid?

Remarks

If a user (typicalloy a developer or administrator) initiates an action on behalf of another user, then this property identifies the proxy. For example, if developer API keys are used to modify the database on behalf of users in an external system, then we can identify both the user and the developer in an Origin object. For example, if John is a user working in an external application who creates a new survey in the internal application here, and if Alice is the developer whose API key is used to integrate the two applications, then Origin.User = John and Origin.Proxy = Alice.

Reason

The reason for the action.

public string Reason { get; set; }

Property Value

string

Remarks

This optional property explains why the action was initiated.

Source

Identifies and/or describes the source of the action.

public string Source { get; set; }

Property Value

string

Remarks

This optional property answers the question, "Where did the action originate?". Values here might include the IP address of the user, the name of an external system, the URL of a page, the user agent of a browser, etc.

User

Unique identifier for an individual.

public Guid User { get; set; }

Property Value

Guid

Remarks

This identifies the user account who initiated an action.

When

The exact date and time of the action.

public DateTimeOffset When { get; set; }

Property Value

DateTimeOffset