示例#1
0
        /// <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("批量下载任务完成!");
        }
示例#2
0
 /// <summary>
 /// 单次查询下载
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonDownload_Click(object sender, EventArgs e)
 {
     //保存在数据库中
     try
     {
         if (this.checkDate.Checked)
         {
             List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>();
             CoScheduling.Core.DAL.SatelliteOrbit          dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit();
             list = LoadTle(quaryStr);
             //检查T_PUB_SATELLITEORBIT是否已经存在该日期的星历,如果存在就不执行了
             DateTime tleDate = this.dateTimePicker1.Value.Date;
             if (dal_satelliteOrbit.Exists(tleDate))
             {
                 MessageBox.Show(tleDate + "卫星轨道数据已存在,无需重新下载!");
                 return;
             }
             //赋予每条数据所选日期并插入数据库
             foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list)
             {
                 orbit.SAT_ORBITDATE = tleDate;
                 dal_satelliteOrbit.Add(orbit);
             }
             //写入更新日志
             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   = tleDate + "卫星轨道数据下载成功!";
             satelliteUpdate.UPDATE_TIME  = System.DateTime.Now;
             dal_satelliteUpdate.Add(satelliteUpdate);
             MessageBox.Show(tleDate + "卫星轨道数据下载成功!");
         }
         else
         {
             List <CoScheduling.Core.Model.T_PUB_NEWORBIT> list = new List <CoScheduling.Core.Model.T_PUB_NEWORBIT>();
             CoScheduling.Core.DAL.T_PUB_NEWORBIT          dal_satelliteOrbit = new CoScheduling.Core.DAL.T_PUB_NEWORBIT();
             list = LoadTleNew(quaryStr);
             //清空轨道数据
             dal_satelliteOrbit.Delete();
             DateTime tleDate = System.DateTime.Now.AddDays(-1);
             //插入私有轨道数据
             foreach (CoScheduling.Core.Model.T_PUB_NEWORBIT orbit in list)
             {
                 orbit.SAT_ORBITDATE = tleDate;
                 dal_satelliteOrbit.Add(orbit);
             }
             MessageBox.Show("卫星轨道资源配置成功!");
         }
         this.textCon.Text = "";
     }
     catch (System.Exception ex)
     {
         MessageBox.Show("请先进行查询在,在右侧显示查询结果后再点击下载!");
         this.textCon.Text = "";
     }
 }