// Copyright © Selmo Technology GmbH. All Rights Reserved

using Novus.Shared.Dto;
using Novus.Shared.Id;
using SelmoStudio.Hmi.Server.SelmoHmi.Group.Model.Ids;
using SelmoStudio.Hmi.Server.SelmoHmi.Model.Ids;

namespace SelmoStudio.Hmi.Server.SelmoHmi.Model.Dtos
{
    public record ZoneDto : IStorageDto
    {
        IGuidBasedId IDto.Id => Id;
        public ZoneId Id { get; init; }
        public string Name { get; init; }
        public string Description { get; init; }

        //Not DTO
        public string GroupName { get; set; }
        public string HmiDisplayText { get; init; }
        public bool HmiButton { get; init; }
        public string HmiButtonText { get; init; }
        public bool PairCheck { get; init; }
        public int PairCheckGroup { get; init; }
        public int Lamp { get; init; }
        public int LampPair { get; init; }
        public bool IsSystemZone { get; init; }
        public int ZoneValueIndex { get; init; }
        public int SystemZoneType { get; init; }
        public bool Visible { get; init; }
        public int ZoneType { get; init; }

        public GroupId Group { get; init; }
    }
}