Exemplo n.º 1
0
        void OnFinishScratchARow(int rownum, HBQueryInfo scratchinfo)
        {
            if (InvokeRequired)
            {
                BeginInvoke(new Action(() =>
                {
                    hbinfolist.Add(scratchinfo);
                    flightgrid.Rows[rownum].Cells["flightno"].Value = scratchinfo.flightno;
                    flightgrid.Rows[rownum].Cells["sourcepos"].Value = scratchinfo.sourcepos;
                    flightgrid.Rows[rownum].Cells["destpos"].Value = scratchinfo.destpos;
                    flightgrid.Rows[rownum].Cells["takeoffplace"].Value = scratchinfo.takeoffplace;
                    flightgrid.Rows[rownum].Cells["arriveplace"].Value = scratchinfo.arriveplace;
                    flightgrid.Rows[rownum].Cells["leaveplan"].Value = scratchinfo.leaveplan;
                    flightgrid.Rows[rownum].Cells["leavetime"].Value = scratchinfo.leavetime;
                    flightgrid.Rows[rownum].Cells["arriveplan"].Value = scratchinfo.arriveplan;
                    flightgrid.Rows[rownum].Cells["arrivetime"].Value = scratchinfo.arrivetime;
                    flightgrid.Rows[rownum].Cells["estimatedleavetime"].Value = scratchinfo.estimatedleavetime;
                    flightgrid.Rows[rownum].Cells["estimatedarrivetime"].Value = scratchinfo.estimatedarrivetime;
                    flightgrid.Rows[rownum].Cells["gate"].Value = scratchinfo.gate;
                    flightgrid.Rows[rownum].Cells["status"].Value = scratchinfo.status;
                    flightgrid.Rows[rownum].Cells["flighttime"].Value = String.Format("{0:yyyy年MM月dd日}", dateTimePicker1.Value);
                    flightgrid.Update();

                    progressBar1.Value = (int)Math.Round(((100 / (decimal)flightgrid.RowCount) * rownum));
                }));
            }
        }
Exemplo n.º 2
0
        public void LoadHangBanData()
        {
            Dictionary<string, string> welcomeparams = new Dictionary<string, string>();

            OnStartQuery();
            int i = 0;
            foreach (var item in flightlist)
            {
                try
                {
                    HBQueryInfo rst = new HBQueryInfo();
                    rst.flightno = item.ToUpper();

                    RequestFirstPage(rst.flightno);
                    if (!isRunning)
                    {
                        return;
                    }

                    var secondresp = RequestSecondPage(rst.flightno);

                    HBQueryRst qrst = JsonConvert.DeserializeObject<HBQueryRst>(secondresp);

                    if (qrst == null || qrst.segmentDetails == null) {

                    }

                    rst.sourcepos = qrst.segmentDetails[0].departureCity;
                    rst.destpos = qrst.segmentDetails[0].arrivalCity;
                    rst.takeoffplace = qrst.segmentDetails[0].departureCityAirportName;
                    rst.arriveplace = qrst.segmentDetails[0].arrivalCityAirportName;
                    rst.status = qrst.segmentDetails[0].flightStatus;

                    string estDepTime = RetrieveEstimatedDepartureTime(rst.flightno, qrst.segmentDetails[0].estimatedDepartureTime);
                    string schdDepTime = RetrieveScheduledDepartureTime(rst.flightno, qrst.segmentDetails[0].scheduledDepartureTime);
                    string actDepTime = RetrieveActualDepartureTime(rst.flightno, qrst.segmentDetails[0].actualDepartureTime);
                    string gate = RetrieveGate(rst.flightno, qrst.segmentDetails[0].gate);
                    string estArriveTime = RetrieveEstimatedArriveTime(rst.flightno, qrst.segmentDetails[0].scheduledArrivalTime);
                    string schdArriveTime = RetrieveScheduledArriveTime(rst.flightno, qrst.segmentDetails[0].scheduledDepartureTime);
                    string actArriveTime = RetrieveActualArriveTime(rst.flightno, qrst.segmentDetails[0].actualArrivalTime);

                    rst.leaveplan = estDepTime.Replace('.', ':');
                    rst.leavetime = actDepTime.Replace('.', ':');
                    rst.arriveplan = estArriveTime.Replace('.', ':');
                    rst.arrivetime = actArriveTime.Replace('.', ':');
                    rst.estimatedleavetime = schdDepTime.Replace('.', ':');
                    rst.estimatedarrivetime = schdArriveTime.Replace('.', ':');
                    rst.gate = gate.Replace('.', ':');

                    OnFinishScratchARow(i, rst);
                }
                catch (System.Exception ex)
                {

                }
                i++;
            }
            OnFinishScratchAllPage();
        }