1
- using Nethereum . Web3 ;
1
+ using Microsoft . Extensions . Logging ;
2
+ using Nethereum . Web3 ;
2
3
using StarSharksTool . Contracts . ERC20 ;
3
4
using StarSharksTool . Models ;
4
5
using StarSharksTool . Models . RentModels ;
@@ -137,7 +138,8 @@ public BatchRentPage()
137
138
await Task . Delay ( 3 ) ;
138
139
MethodInvoker mi = new MethodInvoker ( ( ) =>
139
140
{
140
- if ( NeedRentAccounts . Count == 0 ) {
141
+ if ( NeedRentAccounts . Count == 0 )
142
+ {
141
143
this . autoRent . Checked = false ;
142
144
this . checkBox1 . Checked = false ;
143
145
}
@@ -163,66 +165,74 @@ private async void refreshBtn_Click(object sender, EventArgs e)
163
165
}
164
166
private async Task RefreshData ( )
165
167
{
166
- var textboxPrice = Convert . ToInt32 ( priceTextbox . Text ) ;
167
- var level = 1 ;
168
- if ( level1 . Checked )
169
- {
170
- level = 1 ;
171
- }
172
- else if ( level2 . Checked )
173
- {
174
- level = 2 ;
175
- }
176
- else if ( level3 . Checked )
177
- {
178
- level = 3 ;
179
- }
180
- var c = await Services . Service . GetMarketplace ( textboxPrice , level , rentProxy . Text ) ;
181
- var model = c . Data . Sharks ;
182
- DataTable dt = new DataTable ( ) ;
183
- dt . Columns . Add ( new DataColumn ( "Id" ) ) ;
184
- dt . Columns . Add ( new DataColumn ( "Price" ) ) ;
185
- List < Task > autoRentTask = new List < Task > ( ) ;
186
- Random r = new Random ( ) ;
187
- if ( model != null )
168
+ try
188
169
{
189
- foreach ( var item in model )
170
+
171
+ var textboxPrice = Convert . ToInt32 ( priceTextbox . Text ) ;
172
+ var level = 1 ;
173
+ if ( level1 . Checked )
174
+ {
175
+ level = 1 ;
176
+ }
177
+ else if ( level2 . Checked )
178
+ {
179
+ level = 2 ;
180
+ }
181
+ else if ( level3 . Checked )
190
182
{
191
- if ( BlackIds . Contains ( item . Attr . SharkId ) )
192
- continue ;
193
- var price = ( int ) Convert . ToDouble ( item . Sheet . RentExceptGain ) ;
194
- for ( int i = 0 ; i < NeedRentAccounts . Count ; i ++ )
183
+ level = 3 ;
184
+ }
185
+ var c = await Services . Service . GetMarketplace ( textboxPrice , level , rentProxy . Text ) ;
186
+ var model = c . Data . Sharks ;
187
+ DataTable dt = new DataTable ( ) ;
188
+ dt . Columns . Add ( new DataColumn ( "Id" ) ) ;
189
+ dt . Columns . Add ( new DataColumn ( "Price" ) ) ;
190
+ List < Task > autoRentTask = new List < Task > ( ) ;
191
+ Random r = new Random ( ) ;
192
+ if ( model != null )
193
+ {
194
+ foreach ( var item in model )
195
195
{
196
- if ( this . autoRent . Checked == true && price <= textboxPrice && NeedRentAccounts . Count > 0 )
196
+ if ( BlackIds . Contains ( item . Attr . SharkId ) )
197
+ continue ;
198
+ var price = ( int ) Convert . ToDouble ( item . Sheet . RentExceptGain ) ;
199
+ for ( int i = 0 ; i < NeedRentAccounts . Count ; i ++ )
197
200
{
198
- var shark = model [ r . Next ( 0 , model . Count - 1 ) ] ;
199
- if ( ! Services . Service . RentedSharkIds . Contains ( shark . Attr . SharkId ) )
201
+ if ( this . autoRent . Checked == true && price <= textboxPrice && NeedRentAccounts . Count > 0 )
200
202
{
201
- autoRentTask . Add ( this . RentShark ( shark . Attr . SharkId , price ) ) ;
203
+ var shark = model [ r . Next ( 0 , model . Count - 1 ) ] ;
204
+ if ( ! Services . Service . RentedSharkIds . Contains ( shark . Attr . SharkId ) )
205
+ {
206
+ autoRentTask . Add ( this . RentShark ( shark . Attr . SharkId , price ) ) ;
207
+ }
202
208
}
203
209
}
210
+ var dr = dt . NewRow ( ) ;
211
+ dr [ "Id" ] = item . Attr . SharkId . ToString ( ) ;
212
+ dr [ "Price" ] = item . Sheet . RentExceptGain ;
213
+ dt . Rows . Add ( dr ) ;
204
214
}
205
- var dr = dt . NewRow ( ) ;
206
- dr [ "Id" ] = item . Attr . SharkId . ToString ( ) ;
207
- dr [ "Price" ] = item . Sheet . RentExceptGain ;
208
- dt . Rows . Add ( dr ) ;
209
215
}
210
- }
211
216
212
- this . dataGridView1 . DataSource = dt ;
217
+ this . dataGridView1 . DataSource = dt ;
213
218
214
- if ( dataGridView1 . Columns . GetLastColumn ( DataGridViewElementStates . None , DataGridViewElementStates . None ) . Name != "rentBtnColumn" )
215
- {
216
- DataGridViewButtonColumn rentBtnColumn = new DataGridViewButtonColumn ( ) ;
217
- rentBtnColumn . Text = "租他" ;
218
- rentBtnColumn . HeaderText = "操作" ;
219
- rentBtnColumn . Name = "rentBtnColumn" ;
220
- rentBtnColumn . DefaultCellStyle . NullValue = "租它" ;
221
- dataGridView1 . Columns . Add ( rentBtnColumn ) ;
219
+ if ( dataGridView1 . Columns . GetLastColumn ( DataGridViewElementStates . None , DataGridViewElementStates . None ) . Name != "rentBtnColumn" )
220
+ {
221
+ DataGridViewButtonColumn rentBtnColumn = new DataGridViewButtonColumn ( ) ;
222
+ rentBtnColumn . Text = "租他" ;
223
+ rentBtnColumn . HeaderText = "操作" ;
224
+ rentBtnColumn . Name = "rentBtnColumn" ;
225
+ rentBtnColumn . DefaultCellStyle . NullValue = "租它" ;
226
+ dataGridView1 . Columns . Add ( rentBtnColumn ) ;
227
+ }
228
+ if ( autoRentTask . Any ( ) )
229
+ {
230
+ Task . Run ( async ( ) => { await Task . WhenAll ( autoRentTask ) ; } ) ;
231
+ }
222
232
}
223
- if ( autoRentTask . Any ( ) )
233
+ catch ( Exception e )
224
234
{
225
- Task . Run ( async ( ) => { await Task . WhenAll ( autoRentTask ) ; } ) ;
235
+ Global . GetLogger ( "BatchRentPage" ) . LogError ( e , e . Message ) ;
226
236
}
227
237
}
228
238
@@ -258,7 +268,8 @@ private async Task RentShark(int sharkId, int maxPrice, decimal gasPrice = 6)
258
268
do
259
269
{
260
270
retry ++ ;
261
- if ( retry > 5 ) {
271
+ if ( retry > 5 )
272
+ {
262
273
return ;
263
274
}
264
275
if ( NeedRentAccounts . Count == RentLock . Count )
@@ -293,7 +304,8 @@ private async Task RentShark(int sharkId, int maxPrice, decimal gasPrice = 6)
293
304
if ( maxDynamicGasPrice . Checked == true )
294
305
{
295
306
var maxDynamicGasPrice = Convert . ToDecimal ( maxDynamicGasPriceTbx . Text ) ;
296
- if ( currentDynamicGasPrice > maxDynamicGasPrice ) {
307
+ if ( currentDynamicGasPrice > maxDynamicGasPrice )
308
+ {
297
309
return ;
298
310
}
299
311
}
@@ -330,31 +342,18 @@ private async Task RentShark(int sharkId, int maxPrice, decimal gasPrice = 6)
330
342
RerenderRentHistory ( ) ;
331
343
}
332
344
333
- //private async void approveContract_Click(object sender, EventArgs e)
334
- //{
335
- // var resp = await Services.Service.ApproveContract(this._accountModel.Account.Address);
336
- // if (resp)
337
- // {
338
- // MessageBox.Show("授权成功");
339
- // }
340
- // else
341
- // {
342
- // MessageBox.Show("授权失败");
343
- // }
344
- //}
345
-
346
345
private async void checkBox1_CheckedChanged ( object sender , EventArgs e )
347
346
{
348
347
if ( checkBox1 . Checked == true )
349
348
{
350
- //Task.Run(() =>
351
- //{
352
349
try
353
350
{
354
351
await AutoRefresh ( ) ;
355
352
}
356
- catch { }
357
- //}).ConfigureAwait(false);
353
+ catch ( Exception ex )
354
+ {
355
+ Global . GetLogger ( "BatchRentPage" ) . LogError ( ex , ex . Message ) ;
356
+ }
358
357
}
359
358
}
360
359
private async Task AutoRefresh ( )
0 commit comments