// Copyright © Selmo Technology GmbH. All Rights Reserved

using SelmoStudio.Hmi.Server.SelmoHmi.Model.ProjectItems;
using SelmoStudio.Hmi.Server.SelmoHmi.Parameter.Model.Dto;
using SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model;
using SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Dto;

namespace SelmoStudio.Hmi.Server.SelmoHmi.Shared.TestImpl
{
    public class TestSequenceList
    {
        public static List<ProjectItemCollectionSequence> Sequences1 = new List<ProjectItemCollectionSequence>() {
            new ProjectItemCollectionSequence()
            {
                SequenceInfo = new(){
                    Name = "Sequence 1"
                },
                StepCollection = new()
                {
                    Steps =  new List<StepDto>()
                    {
                        new StepDto()
                        {
                            Name = "Release Sequence1"
                        },
                        new StepDto()
                        {
                            Name = "Waiting for Sequence 1 reset"
                        }
                    },
                },
                ParameterCollection = new()
                {
                    Parameters = new List<ParameterDto>()
                    {
                        new ParameterDto()
                        {
                            Name = "Param1",
                            Number = 1
                        },
                         new ParameterDto()
                        {
                            Name = "Param2",
                            Number = 100
                        }
                    }
                }
            }
        };

        public static List<ProjectItemCollectionSequence> Sequences2 = new List<ProjectItemCollectionSequence>() {
            new ProjectItemCollectionSequence()
            {
                SequenceInfo = new(){
                    Name = "Sequence 1"
                },
                StepCollection = new()
                {
                    Steps =  new List<StepDto>()
                    {
                        new StepDto()
                        {
                            Name = "Release Sequence1"
                        },
                        new StepDto()
                        {
                            Name = "Waiting for Sequence 1 reset"
                        }
                    },
                },
                ParameterCollection = new()
                {
                    Parameters = new List<ParameterDto>()
                    {
                        new ParameterDto()
                        {
                            Name = "Param1",
                            Number = 1
                        },
                         new ParameterDto()
                        {
                            Name = "Param2",
                            Number = 100
                        }
                    }
                }
            }
        };

        public static List<ProjectItemCollectionHwInfo> HwZones { get; set; } = new List<ProjectItemCollectionHwInfo>()
        {
            new ProjectItemCollectionHwInfo()
            {
                HardwareZoneInfo = new()
                {
                    Name = "HWZone1"
                },
                Sequences = Sequences1
            },
            new ProjectItemCollectionHwInfo()
            {
                HardwareZoneInfo = new()
                {
                    Name = "HWZone2"
                },
                Sequences = Sequences2
            }
        };
    }
}