// 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
{
    public class LogicDiagramStep : PropertyBasedEntity
    {
        [JsonIgnore]
        public override IGuidBasedId InternalStorageId => Id;

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

        [JsonProperty]
        public StepId StepId { get; set; }

        [JsonProperty]
        public StepType StepType { get; set; }

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

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

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

        [JsonProperty]
        public double DiagramPositionX { get; set; }

        [JsonProperty]
        public double DiagramPositionY { get; set; }

        [JsonProperty]
        public double SizeX { get; set; }

        [JsonProperty]
        public double SizeY { get; set; }
    }
}