1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using DbCommon.BusinessCore.BaseCore;
- using Newtonsoft.Json;
- using ProjectManagementSystem.Common.Core;
- using ProjectManagementSystem.Common.Extenions;
- using ProjectManagementSystem.Common.Logger;
- using ProjectManagementSystem.Common.WebApi;
- using ProjectManagementSystem.Device.CommandCallback;
- using ProjectManagementSystem.Device.Extenions;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace ProjectManagementSystem.UI
- {
- public partial class DebugApiCallFailedUI : UserControl, IDisplayUI
- {
- private ApiCallFailedManager apiCallFailedManager = new ApiCallFailedManager();
- public DebugApiCallFailedUI()
- {
- InitializeComponent();
- }
- public bool Init()
- {
- dataGridUI1.dataGridView1.CellClick += DataGridView1_CellClick;
- return true;
- }
- private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
- {
- }
- public void UpdateDisplay()
- {
- if (!this.Visible) return;
- var dataList = apiCallFailedManager.GetList().OrderBy(d => d.CreateTime).ToList();
- dataGridUI1.ShowDataGrid(dataList);
- }
- private async void button1_Click(object sender, EventArgs e)
- {
- try
- {
- (sender as Control).Enabled = false;
- var ret = await Task.Run(() =>
- {
- return ReCallApi();
- });
- MessageBox.Show($"{ret}", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- (sender as Control).Enabled = true;
- }
- private string ReCallApi()
- {
- string content = null;
- while (true)
- {
- var data = apiCallFailedManager.GetFirstOne();
- if(data == null)
- {
- continue;
- }
- bool result = CustomerApi.LesApi(data.ApiName, data.Body, out content);
- if (result)
- {
- apiCallFailedManager.Delete(data);
- }
- else
- {
- break;
- }
- }
- return content;
- }
- }
- }
|