@@ -15,8 +15,11 @@ public partial class IpOptionViewModel : BaseViewModel
15
15
IpOptionModel _ipOptions ;
16
16
17
17
[ ObservableProperty ]
18
- ObservableCollection < PortForShow > ports ;
19
-
18
+ ObservableCollection < PortForShow > httpPorts ;
19
+
20
+ [ ObservableProperty ]
21
+ ObservableCollection < PortForShow > httpsPorts ;
22
+
20
23
[ ObservableProperty ]
21
24
int maxPingOfIP ;
22
25
@@ -35,7 +38,8 @@ public partial class IpOptionViewModel : BaseViewModel
35
38
36
39
public IpOptionViewModel ( )
37
40
{
38
- ports = new ObservableCollection < PortForShow > ( ) ;
41
+ httpPorts = new ObservableCollection < PortForShow > ( ) ;
42
+ httpsPorts = new ObservableCollection < PortForShow > ( ) ;
39
43
}
40
44
41
45
[ ObservableProperty ]
@@ -47,11 +51,16 @@ protected override void OnPropertyChanged(PropertyChangedEventArgs e)
47
51
base . OnPropertyChanged ( e ) ;
48
52
if ( e . PropertyName == "IpOptions" && ! saved )
49
53
{
50
- var allPorts = Constants . HttpPorts . Concat ( Constants . HttpsPorts ) ;
54
+ var allHttpPorts = Constants . HttpPorts ;
55
+ var allHttpsPorts = Constants . HttpsPorts ;
51
56
var selectedPort = IpOptions . Ports ;
52
- foreach ( var port in allPorts )
57
+ foreach ( var port in allHttpPorts )
53
58
{
54
- Ports . Add ( new PortForShow ( port , selectedPort . Any ( p => p == port ) ) ) ;
59
+ HttpPorts . Add ( new PortForShow ( port , selectedPort . Any ( p => p == port ) ) ) ;
60
+ }
61
+ foreach ( var port in allHttpsPorts )
62
+ {
63
+ HttpsPorts . Add ( new PortForShow ( port , selectedPort . Any ( p => p == port ) ) ) ;
55
64
}
56
65
MaxPingOfIP = IpOptions . MaxPingOfIP ;
57
66
MinimumCountOfValidIp = IpOptions . MinimumCountOfValidIp ;
@@ -66,7 +75,8 @@ async void Save()
66
75
{
67
76
saved = true ;
68
77
IpOptions . Ports . Clear ( ) ;
69
- IpOptions . Ports . AddRange ( Ports . Where ( p => p . IsChecked ) . Select ( p => p . Port ) ) ;
78
+ IpOptions . Ports . AddRange ( HttpPorts . Where ( p => p . IsChecked ) . Select ( p => p . Port ) ) ;
79
+ IpOptions . Ports . AddRange ( HttpsPorts . Where ( p => p . IsChecked ) . Select ( p => p . Port ) ) ;
70
80
if ( IpOptions . Ports . Count == 0 )
71
81
{
72
82
IpOptions . Ports . AddRange ( GetRandomPort ( ) ) ;
@@ -129,7 +139,8 @@ async void Save()
129
139
130
140
if ( saved )
131
141
{
132
- totalTestForEachIp = CountOfRepeatTestForEachIp * ( Ports . Where ( p=> p . IsChecked ) ) . Count ( ) ;
142
+ var countSelectedOfPorts = HttpPorts . Where ( p => p . IsChecked ) . Count ( ) + HttpsPorts . Where ( p => p . IsChecked ) . Count ( ) ;
143
+ totalTestForEachIp = CountOfRepeatTestForEachIp * countSelectedOfPorts ;
133
144
var countOfIpInEachRange = CountOfIpForTest / CountOfIpRanges ;
134
145
135
146
await App . Current . MainPage . DisplayAlert ( "Info" , $ "{ CountOfIpForTest } ips in { CountOfIpRanges } ranges will be tested { totalTestForEachIp } times", "ok" ) ;
@@ -150,8 +161,5 @@ public string[] GetRandomPort(int count = 3)
150
161
return randomPorts ;
151
162
}
152
163
153
- public void UpdateVar ( )
154
- {
155
- totalTestForEachIp = CountOfRepeatTestForEachIp * ( Ports . Where ( p => p . IsChecked ) ) . Count ( ) ;
156
- }
164
+
157
165
}
0 commit comments