// Copyright © Selmo Technology GmbH. All Rights Reserved

using Novus.Shared.Dto;
using Novus.Shared.Id;
using Novus.Shared.Types.Json;
using SelmoStudio.Hmi.Common.SelmoProject.Ids;
using SelmoStudio.Hmi.Server.SelmoHmi.Cmz.Model.Ids;
using SelmoStudio.Hmi.Server.SelmoHmi.Model.Ids;
using SelmoStudio.Hmi.Server.SelmoHmi.Parameter.Model.Ids;
using SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Ids;

namespace SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Dto
{
    public record SequenceInfoDto : IStorageDto
    {
        IGuidBasedId IDto.Id => Id;

        public SequenceId Id { get; init; }

        public string LastUpdateDateAsString { get; init; }

        public string Name { get; init; }

        public string Description { get; init; }

        public CmzCollectionId CmzCollectionId { get; init; }

        public ParameterCollectionId ParameterCollectionId { get; init; }

        public StepCollectionId StepCollectionId { get; init; }

        public ZoneCollectionId ZoneCollectionId { get; init; }

        public DictionarySerializer<SelmoHmiStepId, int> StepOrder { get; set; }
    }
}