64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
namespace Pf2e.Web.Helpers.Serialization;
|
|
|
|
/// <summary>
|
|
/// Результат сериализации сущности.
|
|
/// </summary>
|
|
public class SerializationResult
|
|
{
|
|
/// <summary>
|
|
/// Группы полей.
|
|
/// </summary>
|
|
public List<SerializationGroup> Groups { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Расширяет текущий результат сериализации, добавляя группы из другого результата.
|
|
/// </summary>
|
|
/// <param name="other">Другой результат сериализации.</param>
|
|
public void ExtendWith(SerializationResult other)
|
|
{
|
|
Groups.AddRange(other.Groups);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Группа полей для сериализации.
|
|
/// </summary>
|
|
public class SerializationGroup
|
|
{
|
|
/// <summary>
|
|
/// Название группы.
|
|
/// </summary>
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Список полей в группе.
|
|
/// </summary>
|
|
public List<SerializationField> Fields { get; set; } = [];
|
|
}
|
|
|
|
/// <summary>
|
|
/// Поле для сериализации.
|
|
/// </summary>
|
|
public class SerializationField
|
|
{
|
|
/// <summary>
|
|
/// Название поля.
|
|
/// </summary>
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Значение поля в строковом представлении.
|
|
/// </summary>
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Значение поля в строковом представлении.
|
|
/// </summary>
|
|
public string Value { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Флаг, указывающий, реализовано ли поле (true) или нет (false).
|
|
/// </summary>
|
|
public bool IsImplemented { get; set; } = true;
|
|
}
|