/// <summary> /// 批量查询并下载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDays_Click(object sender, EventArgs e) { this.textCon.Text += "\r\n"; code = this.textCode.Text; CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit(); SpaceTrack spacetrack = new SpaceTrack(); DateTime startDay = dateTimePicker3.Value; DateTime endDay = dateTimePicker2.Value; double days = (endDay - startDay).TotalDays; int daynum = Convert.ToInt32(days); this.progressBarBat.Refresh(); this.progressBarBat.Visible = true; this.progressBarBat.Minimum = 0; this.progressBarBat.Maximum = daynum; progressBarBat.Step = 1; for (int i = 0; i <= daynum; i++) { progressBarBat.PerformStep(); if (dal_satelliteOrbit.Exists(startDay.AddDays(i))) { return; } quaryStr = spacetrack.GetSpaceTrack(getNorad(), startDay.AddDays(i), startDay.AddDays(i + 1), this.textName.Text, code); try { if (!String.IsNullOrEmpty(quaryStr)) { List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>(); list = LoadTle(quaryStr); DateTime tleDate = startDay.AddDays(i).Date; foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list) { orbit.SAT_ORBITDATE = tleDate; dal_satelliteOrbit.Add(orbit); } this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":保存成功!\r\n"; } else { MessageBox.Show("请先执行查询生成!"); this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":下载失败,网络故障!\r\n"; continue; } } catch (System.Exception ex) { this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":查询错误,具体原因:\r\n" + ex.ToString() + "\r\n"; } } this.progressBarBat.Visible = false; //写入更新日志 CoScheduling.Core.Model.SATELLITE_UPDATE satelliteUpdate = new CoScheduling.Core.Model.SATELLITE_UPDATE(); CoScheduling.Core.DAL.SATELLITE_UPDATE dal_satelliteUpdate = new CoScheduling.Core.DAL.SATELLITE_UPDATE(); satelliteUpdate.UPDATE_TABLE = "T_PUB_SATELLITE"; satelliteUpdate.UPDATE_LOG = this.textCon.Text; satelliteUpdate.UPDATE_TIME = System.DateTime.Now; dal_satelliteUpdate.Add(satelliteUpdate); MessageBox.Show("批量下载任务完成!"); }
/// <summary> /// 生成Space-Track查询语句 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonTLE_Click(object sender, EventArgs e) { code = this.textCode.Text; SpaceTrack spacetrack = new SpaceTrack(); if (this.checkDate.Checked) { DateTime end = this.dateTimePicker1.Value; DateTime start = this.dateTimePicker1.Value.AddDays(-1); quaryStr = spacetrack.GetSpaceTrack(getNorad(), start, end, this.textName.Text, code); this.textCon.Text = "查询结果:" + "\r\n" + quaryStr; } else { quaryStr = spacetrack.GetSpaceTrack(getNorad(), this.textName.Text, code); this.textCon.Text = "查询结果:" + "\r\n" + quaryStr; } }