MyBookmark/Modules.Library.Domain/Entities/MediaContent/CommonProperties/Description.cs
2024-09-23 03:00:50 +03:00

37 lines
975 B
C#

namespace Modules.Library.Domain.Entities.MediaContent.CommonProperties;
public class Description : ValueObject
{
[Required]
public string Value { get; private set; } = string.Empty;
public bool IsOriginal { get; init; }
[Required]
public Guid LanguageId { get; init; } = default!;
private Description() { }
public Description(Guid languageId, bool isOriginal, string value)
{
LanguageId = languageId;
IsOriginal = isOriginal;
Value = value;
}
internal static Description New(Models.Description description) => new()
{
LanguageId = description.LanguageId,
IsOriginal = description.IsOriginal,
Value = description.Value
};
public void SetValue(string value)
{
Value = value;
}
protected override IEnumerable<object?> GetEqualityComponents()
{
yield return Value;
yield return LanguageId;
yield return IsOriginal;
}
}