// Copyright © Selmo Technology GmbH. All Rights Reserved

using Newtonsoft.Json;
using Novus.Shared.Id;
using Novus.Shared.Property;
using SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Ids;

namespace SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Dto
{
    [JsonObject]
    public class LogicDiagram : PropertyBasedEntity
    {
        [JsonIgnore]
        public override IGuidBasedId InternalStorageId => Id;

        [JsonProperty]
        public LogicDiagramId Id { get; set; }

        [JsonProperty]
        public string Name { get; set; }

        [JsonProperty]
        public string Description { get; set; }

        [JsonProperty]
        public List<LogicDiagramStep> Steps { get; set; }

        [JsonProperty]
        public List<LogicDiagramConnection> Connections { get; set; }

        [JsonProperty]
        public List<LogicDiagramComment> Comments { get; set; }

        [JsonProperty]
        public string ComponentSpecificLayout { get; set; }
    }
}