TSAVPosition.cs
2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System;
using System.Collections.Generic;
using TSA_V.DeviceLibrary;
namespace TSA_V.LoadCSVLibrary
{
public class TSAVPosition : PostionBase
{
/// <summary>
///旋转位置
/// </summary>
[CSVAttribute("旋转位置")]
public int RotatePosition { get; set; }
/// <summary>
///灯列表
/// </summary>
[CSVAttribute("灯列表")]
public string Leds { get; set; }
/// <summary>
///设备IP
/// </summary>
[CSVAttribute("设备IP")]
public string DeviceIP { get; set; }
public NodeInfo GetNode(Dictionary<int, Dictionary<int, NodeInfo>> dictionary)
{
string[] array = this.PositionName.Split('_');
if (array.Length == 3)
{
int indexi = Convert.ToInt32(array[0]);
int indexj = Convert.ToInt32(array[1]);
if (dictionary.ContainsKey(indexi))
{
if (dictionary[indexi].ContainsKey(indexj))
{
return dictionary[indexi][indexj];
}
}
} return null;
}
private List<int> list = null;
public List<int> getLedList()
{
if (list == null)
{
list = new List<int>();
if (Leds.IndexOf('#') >= 0)
{
string[] str = Leds.Split('#');
foreach (string s in str)
{
try
{
int value = Convert.ToInt32(s);
list.Add(value);
}
catch (Exception e)
{
}
}
}
else if (Leds.IndexOf('-') >= 0)
{
string[] str = Leds.Split('-');
try
{
int min = Convert.ToInt32(str[0]);
int max = Convert.ToInt32(str[str.Length - 1]);
for (int i = min; i <= max; i++)
{
list.Add(i);
}
}
catch (Exception ex)
{
}
}
else
{
try
{
int value = Convert.ToInt32(Leds);
list.Add(value);
}
catch (Exception e)
{
}
}
}
return list;
}
}
}