2022-03-02 17:31:49 +08:00

44 lines
1.2 KiB
C#

using System.Xml.Linq;
namespace Billing.Models
{
public class Category : BaseModel
{
public int Id { get; set; }
public CategoryType Type { get; set; }
public string Icon { get; set; } = ICON_DEFAULT;
public string Name { get; set; }
public int? ParentId { get; set; }
public override void OnXmlDeserialize(XElement node)
{
Id = Read(node, nameof(Id), 0);
Type = (CategoryType)Read(node, nameof(Type), 0);
Icon = Read(node, nameof(Icon), ICON_DEFAULT);
Name = Read(node, nameof(Name), string.Empty);
var parentId = Read(node, nameof(ParentId), -1);
if (parentId >= 0)
{
ParentId = parentId;
}
}
public override void OnXmlSerialize(XElement node)
{
Write(node, nameof(Id), Id);
Write(node, nameof(Type), (int)Type);
Write(node, nameof(Icon), Icon);
Write(node, nameof(Name), Name);
if (ParentId != null)
{
Write(node, nameof(ParentId), ParentId.Value);
}
}
}
public enum CategoryType
{
Spending,
Income
}
}