2026-06-05 13:44:39 +09:00

77 lines
2.4 KiB
C#

using Aurora.Api;
using AuroraACS.Views;
using PropertyTools.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace AuroraACS
{
public class ACSDeviceSetting : ISettingItem
{
[InputFilePath]
public string HelpImagePath { get; set; }
public BufferInfoCollection BufferInfoList { get; set; } = new BufferInfoCollection();
public VariableValueCollection VariableValueList { get; set; } = new VariableValueCollection();
}
public class BufferInfoCollection : ObservableCollection<BufferInfo>
{
public BufferInfoCollection()
{
}
public BufferInfoCollection(IEnumerable<BufferInfo> collection) : base(collection)
{
}
public BufferInfoCollection(List<BufferInfo> list) : base(list)
{
}
public string this[Enum index] {
get => base[Convert.ToInt32(index)].Label;
}
public int this[string Label]
{
get => this.FirstOrDefault(t => t.Label == Label).BufferNo;
}
}
public class BufferInfo
{
public int BufferNo { get; set; } = -1;
public string Description { get; set; } = string.Empty;
public string Label { get; set; } = string.Empty;
}
public class VariableValueCollection : ObservableCollection<VariableValue>
{
public VariableValueCollection()
{
}
public VariableValueCollection(IEnumerable<VariableValue> collection) : base(collection)
{
}
public VariableValueCollection(List<VariableValue> list) : base(list)
{
}
public string this[Enum index] {
get => base[Convert.ToInt32(index)].VariableValueName;
}
}
public class VariableValue
{
public int Index { get; set; }
public string VariableValueName { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public string DataType { get; set; } = "R";
public string Authority { get; set; } = string.Empty;
public bool IsSelectReference { get; set; } = false;
public int ReferenceBuffer { get; set; } = -1;
public double Value { get; set; } = -1;
}
}