# Class ChannelDto | EchoHub Documentation

# Class ChannelDto

Namespace
  EchoHub.Core.DTOs

Assembly
  EchoHub.Core.dll

    public record ChannelDto : IEquatable<ChannelDto>

Inheritance
  object
  ChannelDto

Implements
  IEquatable<ChannelDto>

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

## Constructors

### ChannelDto(ChannelDto)

    protected ChannelDto(ChannelDto original)

#### Parameters

`original` ChannelDto

### ChannelDto(Guid, string, string?, bool, int, DateTimeOffset, bool, bool, bool)

    public ChannelDto(Guid Id, string Name, string? Topic, bool IsPublic, int MessageCount, DateTimeOffset CreatedAt, bool IsProtected = false, bool IsEncrypted = false, bool IsSystem = false)

#### Parameters

`Id` Guid
`Name` string
`Topic` string
`IsPublic` bool
`MessageCount` int
`CreatedAt` DateTimeOffset
`IsProtected` bool
`IsEncrypted` bool
`IsSystem` bool

## Properties

### CreatedAt

    public DateTimeOffset CreatedAt { get; init; }

#### Property Value

DateTimeOffset

### EqualityContract

    protected virtual Type EqualityContract { get; }

#### Property Value

Type

### Id

    public Guid Id { get; init; }

#### Property Value

Guid

### IsEncrypted

    public bool IsEncrypted { get; init; }

#### Property Value

bool

### IsProtected

    public bool IsProtected { get; init; }

#### Property Value

bool

### IsPublic

    public bool IsPublic { get; init; }

#### Property Value

bool

### IsSystem

    public bool IsSystem { get; init; }

#### Property Value

bool

### MessageCount

    public int MessageCount { get; init; }

#### Property Value

int

### Name

    public string Name { get; init; }

#### Property Value

string

### Topic

    public string? Topic { get; init; }

#### Property Value

string

## Methods

### Deconstruct(out Guid, out string, out string?, out bool, out int, out DateTimeOffset, out bool, out bool, out bool)

    public void Deconstruct(out Guid Id, out string Name, out string? Topic, out bool IsPublic, out int MessageCount, out DateTimeOffset CreatedAt, out bool IsProtected, out bool IsEncrypted, out bool IsSystem)

#### Parameters

`Id` Guid
`Name` string
`Topic` string
`IsPublic` bool
`MessageCount` int
`CreatedAt` DateTimeOffset
`IsProtected` bool
`IsEncrypted` bool
`IsSystem` bool

### Equals(ChannelDto?)

    public virtual bool Equals(ChannelDto? other)

#### Parameters

`other` ChannelDto

#### 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 ==(ChannelDto?, ChannelDto?)

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

#### Parameters

`left` ChannelDto
`right` ChannelDto

#### Returns

bool

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

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

#### Parameters

`left` ChannelDto
`right` ChannelDto

#### Returns

bool