I18NCommander/I18N Commander/DataModel/Database/Section.cs

34 lines
1020 B
C#
Raw Normal View History

2022-06-12 19:42:47 +00:00
using System.ComponentModel.DataAnnotations;
2022-11-14 19:32:41 +00:00
using DataModel.Database.Common;
2022-06-12 19:42:47 +00:00
namespace DataModel.Database;
public sealed class Section
{
[Key]
public int Id { get; set; }
public Guid UniqueId { get; set; }
2022-06-12 19:42:47 +00:00
public string Name { get; set; } = string.Empty;
public string DataKey { get; set; } = string.Empty;
2022-06-12 19:42:47 +00:00
public int Depth { get; set; } = 0;
public Section? Parent { get; set; }
public List<TextElement> TextElements { get; set; } = new();
2022-11-14 19:32:41 +00:00
internal DataContext.JsonUniqueId JsonUniqueId => new(this.DataKey, this.UniqueId, "Sec");
internal DataContext.JsonSection ToJsonSection() => new()
{
UniqueId = this.JsonUniqueId,
Name = this.Name,
DataKey = this.DataKey,
Depth = this.Depth,
ParentUniqueId = this.Parent?.JsonUniqueId ?? new DataContext.JsonUniqueId("null", Guid.Empty, "Sec"),
TextElements = this.TextElements.Select(n => n.JsonUniqueId).ToList()
};
2022-06-12 19:42:47 +00:00
}