コード例 #1
0
        public void Download()
        {
            try
            {
                if (DownloadParams.ToDate < DownloadParams.FromDate)
                {
                    throw new PSEGetException("Invalid date range.");
                }

                DownloadedFiles.Clear();
                //this.FailedDownloadFiles.Clear();
                DateTime reportDate = DownloadParams.FromDate;
                do
                {
                    var downloadParams = (DownloadParams)DownloadParams.Clone();
                    downloadParams.FileName = downloadParams.FileName.Replace("%dd", String.Format("{0:00}", reportDate.Day));
                    downloadParams.FileName = downloadParams.FileName.Replace("%mm", String.Format("{0:00}", reportDate.Month));
                    downloadParams.FileName = downloadParams.FileName.Replace("%yyyy", String.Format("{0:00}", reportDate.Year));

                    if (reportDate.DayOfWeek == DayOfWeek.Saturday ||
                        reportDate.DayOfWeek == DayOfWeek.Sunday)
                    {
                        reportDate = reportDate.AddDays(1);
                        continue;
                    }

                    downloadQueue.Enqueue(downloadParams);
                    reportDate = reportDate.AddDays(1);
                } while (reportDate <= DownloadParams.ToDate);

                if (downloadQueue.Count > 0)
                {
                    if (OnStartDownloadProcess != null)
                    {
                        OnStartDownloadProcess(this, null);
                    }
                }
                else
                {
                    throw new PSEGetException("There were no pse reports found in the dates you specified.");
                }
                ProcessQueue();
            }
            catch (Exception e)
            {
                OnReportDownloadCompletedEvent(this, new AsyncCompletedEventArgs(e, false, null));
                if (downloadQueue.Count == 0)
                {
                    OnDownloadAllCompletedEvent(this, new EventArgs());
                }
            }
        }
コード例 #2
0
        public void Download()
        {
            if (DownloadParams.ToDate < DownloadParams.FromDate)
            {
                throw new PSEGetException("Invalid date range.");
            }

            DownloadedFiles.Clear();
            downloadQueue.Clear();

            DateTime reportDate = DownloadParams.FromDate;

            do
            {
                var downloadParams = (DownloadParams)DownloadParams.Clone();
                downloadParams.FileName = downloadParams.FileName.Replace("%dd", String.Format("{0:00}", reportDate.Day));
                downloadParams.FileName = downloadParams.FileName.Replace("%mm", String.Format("{0:00}", reportDate.Month));
                downloadParams.FileName = downloadParams.FileName.Replace("%yyyy", String.Format("{0:00}", reportDate.Year));

                if (reportDate.DayOfWeek == DayOfWeek.Saturday ||
                    reportDate.DayOfWeek == DayOfWeek.Sunday)
                {
                    reportDate = reportDate.AddDays(1);
                    continue;
                }

                downloadQueue.Enqueue(downloadParams);
                reportDate = reportDate.AddDays(1);
            } while (reportDate <= DownloadParams.ToDate);

            if (downloadQueue.Count > 0)
            {
            }
            else
            {
                throw new PSEGetException("Nothing to download");
            }

            ProcessQueue();
        }