123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- using DevExpress.XtraEditors;
- using DevExpress.XtraTreeList.Data;
- using ExtensionsDev;
- using Newtonsoft.Json;
- using PosResAnalysis;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Data.Entity;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Net.Http;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Controls;
- using System.Windows.Documents;
- using System.Windows.Forms;
- using XdCxRhDW.App.Basic;
- using XdCxRhDW.App.EFContext;
- using XdCxRhDW.App.Model;
- using static XdCxRhDW.App.WebAPI.BaseController;
- namespace XdCxRhDW.App.CorTools
- {
- public partial class XlCalculateForm : DevExpress.XtraEditors.XtraForm
- {
- List<string> resXl = new List<string>();
- List<SatEphDto> list = new List<SatEphDto>();
- public XlCalculateForm()
- {
- InitializeComponent();
- }
- private async void XlCalculateForm_Load(object sender, EventArgs e)
- {
- gridControl.Init().UseSort().UseFilter().UseMultiSelect().UseRowNumber();
- gridControl.DataSource = list;
- LoadData();
- txtTle.UseDoubleClickToSelectAll();
- txtTle.UseDefault().SetStringData(resXl);
- }
- public async Task LoadData()
- {
- try
- {
- resXl.Clear();
- using (RHDWContext db = new RHDWContext())
- {
- var res = await db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ).ToListAsync();
- resXl.AddRange(res.Select(s => $"{s.Line1};{s.Line2}"));
- }
- }
- catch (Exception ex)
- {
- Serilog.Log.Error(ex, "加载星历信息异常");
- DxHelper.MsgBoxHelper.ShowError("加载星历信息异常");
- }
- }
- private async void btnCalculate_Click(object sender, EventArgs e)
- {
- //HttpClient httpClient = new HttpClient();
- //HttpResponseMessage response = await httpClient.GetAsync(string.Format("http://192.168.254.249:8091/Api/Xl/Calc?tleStr={0}&dt={1}",txtTle.Text,txtStartTime.EditValue));
- //string responseBody = await response.Content.ReadAsStringAsync();
- if (!string.IsNullOrEmpty(txtEndTime.Text) && string.IsNullOrEmpty(txtSpanSeconds.Text))
- {
- DxHelper.MsgBoxHelper.ShowInfo("请填写推算间隔");
- return;
- }
- if (!string.IsNullOrEmpty(txtStartTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text))
- {
- var startTime = Convert.ToDateTime(txtStartTime.EditValue);
- var endTime = Convert.ToDateTime(txtEndTime.EditValue);
- if (endTime < startTime)
- {
- DxHelper.MsgBoxHelper.ShowInfo("结束时间不能大于开始时间");
- return;
- }
- if ((endTime-startTime).TotalHours > 24)
- {
- DxHelper.MsgBoxHelper.ShowInfo("开始时间和结束时间不能相差超过24小时");
- return;
- }
- }
- list.Clear();
- var settings = new SysSetings();
- using (RHDWContext db = new RHDWContext())
- {
- settings = await db.SysSetings.FirstOrDefaultAsync();
- }
- using (var client = new HttpClient())
- {
- try
- {
-
- string url = string.Format("http://{0}:{1}/Api/", IpHelper.GetLocalIp(), settings.HttpPort);
-
- if (!string.IsNullOrEmpty(txtEndTime.Text) && !string.IsNullOrEmpty(txtSpanSeconds.Text))
- {
- url += string.Format("Xl/CalcMult?tleStr={0}&start={1}&end={2}&spanSeconds={3}", txtTle.Text, txtStartTime.EditValue, txtEndTime.EditValue, txtSpanSeconds.EditValue);
- var response = await client.GetAsync(url);
- if (response.IsSuccessStatusCode) // 处理成功响应
- {
- var content = await response.Content.ReadAsStringAsync();
- var ajaxResult = JsonConvert.DeserializeObject<AjaxResult<List<SatEphDto>>>(content);
- list.AddRange(ajaxResult.data);
- gridView.RefreshData();
- }
- }
- else
- {
- url += string.Format("Xl/Calc?tleStr={0}&dt={1}", txtTle.Text, txtStartTime.EditValue);
- var response = await client.GetAsync(url);
- if (response.IsSuccessStatusCode) // 处理成功响应
- {
- var content = await response.Content.ReadAsStringAsync();
- var ajaxResult = JsonConvert.DeserializeObject<AjaxResult<SatEphDto>>(content);
- list.Add(ajaxResult.data);
- gridView.RefreshData();
- }
- }
- }
- catch (Exception ex)
- {
- Serilog.Log.Error(ex, "请求星历推算Api出错");
- DxHelper.MsgBoxHelper.ShowError("星历推算错误");
- }
- }
- Console.ReadLine();
- }
- }
- }
|