# Class UserDto | EchoHub Documentation

# Class UserDto

Namespace
  EchoHub.Core.DTOs

Assembly
  EchoHub.Core.dll

    public record UserDto : IEquatable<UserDto>

Inheritance
  object
  UserDto

Implements
  IEquatable<UserDto>

Inherited Members
  object.GetType()
  object.MemberwiseClone()
  object.Equals(object, object)
  object.ReferenceEquals(object, object)

## Constructors

### UserDto(UserDto)

    protected UserDto(UserDto original)

#### Parameters

`original` UserDto

### UserDto(Guid, string, string?, string?, UserStatus, DateTimeOffset)

    public UserDto(Guid Id, string Username, string? DisplayName, string? NicknameColor, UserStatus Status, DateTimeOffset LastSeenAt)

#### Parameters

`Id` Guid
`Username` string
`DisplayName` string
`NicknameColor` string
`Status` UserStatus
`LastSeenAt` DateTimeOffset

## Properties

### DisplayName

    public string? DisplayName { get; init; }

#### Property Value

string

### EqualityContract

    protected virtual Type EqualityContract { get; }

#### Property Value

Type

### Id

    public Guid Id { get; init; }

#### Property Value

Guid

### LastSeenAt

    public DateTimeOffset LastSeenAt { get; init; }

#### Property Value

DateTimeOffset

### NicknameColor

    public string? NicknameColor { get; init; }

#### Property Value

string

### Status

    public UserStatus Status { get; init; }

#### Property Value

UserStatus

### Username

    public string Username { get; init; }

#### Property Value

string

## Methods

### Deconstruct(out Guid, out string, out string?, out string?, out UserStatus, out DateTimeOffset)

    public void Deconstruct(out Guid Id, out string Username, out string? DisplayName, out string? NicknameColor, out UserStatus Status, out DateTimeOffset LastSeenAt)

#### Parameters

`Id` Guid
`Username` string
`DisplayName` string
`NicknameColor` string
`Status` UserStatus
`LastSeenAt` DateTimeOffset

### Equals(UserDto?)

    public virtual bool Equals(UserDto? other)

#### Parameters

`other` UserDto

#### Returns

bool

### Equals(object?)

    public override bool Equals(object? obj)

#### Parameters

`obj` object

#### Returns

bool

### GetHashCode()

    public override int GetHashCode()

#### Returns

int

### PrintMembers(StringBuilder)

    protected virtual bool PrintMembers(StringBuilder builder)

#### Parameters

`builder` StringBuilder

#### Returns

bool

### ToString()

    public override string ToString()

#### Returns

string

## Operators

### operator ==(UserDto?, UserDto?)

    public static bool operator ==(UserDto? left, UserDto? right)

#### Parameters

`left` UserDto
`right` UserDto

#### Returns

bool

### operator !=(UserDto?, UserDto?)

    public static bool operator !=(UserDto? left, UserDto? right)

#### Parameters

`left` UserDto
`right` UserDto

#### Returns

bool