Table of Contents

Class UserPostInteraction

Namespace
GastroSky.Models
Assembly
GastroSky.Models.dll

A User's Post interaction. Can be created on other people's behalf by Post authors.

Check the wiki for more information on business logic, rules and current schema of the GastroSky Sagl.
[Table("UserPostInteractions")]
[Index("Guid", new string[] { }, IsUnique = true)]
[Index("Slug", new string[] { }, IsUnique = true)]
[Index("Email", new string[] { }, IsUnique = false)]
[Index("NotificationsEnabled", new string[] { }, IsUnique = false)]
[Index("ResolvedOnTimestampUTC", new string[] { }, IsUnique = false)]
public class UserPostInteraction
Inheritance
UserPostInteraction
Inherited Members

Properties

Address

Address of the interested person.

public string? Address { get; set; }

Property Value

string

CountryCodeISO

3-letter ISO country code.

[MaxLength(3)]
public string? CountryCodeISO { get; set; }

Property Value

string

CreationTimestampUTC

Unix-timestamp of when this UserPostInteraction was created.

public long CreationTimestampUTC { get; set; }

Property Value

long

Email

Email address of who should be notified about the underlying Post.

public required string Email { get; set; }

Property Value

string

Guid

Guid that allows users to anonymously access this UserPostInteraction. This must absolutely NEVER get into the Post author's hands!

public required Guid Guid { get; set; }

Property Value

Guid

Id

Meaningless sequential integer that serves purely as a DB primary key.

[Key]
public long Id { get; set; }

Property Value

long

Language

Preferred Language.

public Language Language { get; set; }

Property Value

Language

LastModificationTimestampUTC

public long? LastModificationTimestampUTC { get; set; }

Property Value

long?

Location

Physical address location (e.g. city name).

public string? Location { get; set; }

Property Value

string

Message

Message related to the underlying Post.

[MaxLength(4096)]
public string? Message { get; set; }

Property Value

string

Name

Name of the interested person.

public required string Name { get; set; }

Property Value

string

Notes

Optional notes related to this UserPostInteraction. Only visible to the Post author.

[MaxLength(4096)]
public string? Notes { get; set; }

Property Value

string

NotificationsEnabled

Should the above defined user receive email notifications about the underlying Post.

public bool NotificationsEnabled { get; set; }

Property Value

bool

Phone

Phone number of the interested person.

public string? Phone { get; set; }

Property Value

string

Post

Post with which this UserPostInteraction is associated.

[ForeignKey("PostId")]
public Post? Post { get; set; }

Property Value

Post

PostId

Id of the Post with which this UserPostInteraction is associated.

public long PostId { get; set; }

Property Value

long

ResolvedOnTimestampUTC

Unix-timestamp of when this interaction was marked as resolved by the Post author. null if it's not resolved.

public long? ResolvedOnTimestampUTC { get; set; }

Property Value

long?

Slug

Slug string that uniquely identifies the UserPostInteraction.

[MaxLength(8)]
public required string Slug { get; set; }

Property Value

string

Status

The current Status of the UserPostInteraction.

public UserPostInteractionStatus Status { get; set; }

Property Value

UserPostInteractionStatus
See Also

ZipCode

ZIP-code of the interacting person.

public string? ZipCode { get; set; }

Property Value

string