// Copyright © Selmo Technology GmbH. All Rights Reserved

using Novus.Shared.Property;
using System;

namespace SelmoStudio.Hmi.Server.SelmoHmi.Sequence.Model.Dto
{
    public class StepSpecificInfoDto : PropertyBagBase
    {/*
        public StepSpecificInfoDto(SelmoStepType stepType, IPropertyBag otherBag) : base(otherBag)
        {
            StepType = stepType;
        }

        public SelmoStepType StepType { get; private set; }

        public string TimerName
        {
            get
            {
                return Get<string>(StepSpecificProperties.TimerName);
            }
            init
            {
                Set(StepSpecificProperties.TimerName, value);
            }
        }

        public double TimerValue
        {
            get
            {
                return Get<double>(StepSpecificProperties.TimerValue);
            }
            init
            {
                Set(StepSpecificProperties.TimerValue, value);
            }
        }

        public ParameterId TimerParameter
        {
            get
            {
                return Get<ParameterId>(StepSpecificProperties.TimerParameter);
            }
            init
            {
                Set(StepSpecificProperties.TimerParameter, value);
            }
        }

        public StepId JumpDestinationAbsolute
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.JumpDestinationAbsolute);
            }
            init
            {
                Set(StepSpecificProperties.JumpDestinationAbsolute, value);
            }
        }

        public StepId JumpDestination
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.JumpDestination);
            }
            init
            {
                Set(StepSpecificProperties.JumpDestination, value);
            }
        }

        public StepId JumpConditionalMainStep
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.JumpConditionalMainStep);
            }
            init
            {
                Set(StepSpecificProperties.JumpConditionalMainStep, value);
            }
        }

        public int IsConditionalJumpGroup
        {
            get
            {
                return Get<int>(StepSpecificProperties.IsConditionalJumpGroup);
            }
            init
            {
                Set(StepSpecificProperties.IsConditionalJumpGroup, value);
            }
        }

        public StepId LoopingStep
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.LoopingStep);
            }
            init
            {
                Set(StepSpecificProperties.LoopingStep, value);
            }
        }

        public int LoopingIterations
        {
            get
            {
                return Get<int>(StepSpecificProperties.LoopingIterations);
            }
            init
            {
                Set(StepSpecificProperties.LoopingIterations, value);
            }
        }

        public Guid DecisionId
        {
            get
            {
                return Get<Guid>(StepSpecificProperties.DecisionId);
            }
            init
            {
                Set(StepSpecificProperties.DecisionId, value);
            }
        }

        public StepId DecitionPath1
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.DecisionPath1);
            }
            init
            {
                Set(StepSpecificProperties.DecisionPath1, value);
            }
        }

        public StepId DecitionPath2
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.DecisionPath2);
            }
            init
            {
                Set(StepSpecificProperties.DecisionPath2, value);
            }
        }

        public CrossSequenceId CrossSequenceIdForSenderGetter
        {
            get
            {
                return Get<CrossSequenceId>(StepSpecificProperties.CrossSequenceIdForSenderGetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceIdForSenderGetter, value);
            }
        }

        public CrossSequenceId CrossSequenceIdForSenderSetter
        {
            get
            {
                return Get<CrossSequenceId>(StepSpecificProperties.CrossSequenceIdForSenderSetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceIdForSenderSetter, value);
            }
        }

        public CrossSequenceId CrossSequenceIdForReceiverGetter
        {
            get
            {
                return Get<CrossSequenceId>(StepSpecificProperties.CrossSequenceIdForReceiverGetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceIdForReceiverGetter, value);
            }
        }

        public CrossSequenceId CrossSequenceIdReceiverForSenderSetter
        {
            get
            {
                return Get<CrossSequenceId>(StepSpecificProperties.CrossSequenceIdReceiverForSenderSetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceIdReceiverForSenderSetter, value);
            }
        }

        public CrossSequenceId CrossSequenceIdReceiverForReceiverSetter
        {
            get
            {
                return Get<CrossSequenceId>(StepSpecificProperties.CrossSequenceIdReceiverForReceiverSetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceIdReceiverForReceiverSetter, value);
            }
        }

        public string CrossSequenceName
        {
            get
            {
                return Get<string>(StepSpecificProperties.CrossSequenceName);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceName, value);
            }
        }

        public StepId CrossSequenceSenderStepSetter
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.CrossSequenceSenderStepSetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceSenderStepSetter, value);
            }
        }

        public StepId CrossSequenceMajorSenderStepSetter
        {
            get
            {
                return Get<StepId>(StepSpecificProperties.CrossSequenceMajorSenderStepSetter);
            }
            init
            {
                Set(StepSpecificProperties.CrossSequenceMajorSenderStepSetter, value);
            }
        }*/
    }
}