private void DownloadFile(DeliveryFile file, AdWordsUser user, string postData) { WebRequest request = CreateAdwordsReportRequest(file, user, postData); FileDownloadOperation operation = file.Download(request); operation.RequestBody = postData; _batchDownloadOperation.Add(operation); }
private FileInfo AddDataFilesToBatch(BatchDownloadOperation batch, DeliveryFile file) { if (file.Parameters[Consts.DeliveryFileParameters.FileSubType].Equals((long)Consts.FileSubType.Data)) { FileDownloadOperation fileDownloadOperation = file.Download(CreateRequest(file.Parameters[Consts.DeliveryFileParameters.Url].ToString())); batch.Add(fileDownloadOperation); return(fileDownloadOperation.FileInfo); } return(null); }
private void DownloadFile(DeliveryFile file) { WebRequest request = FileWebRequest.Create(file.SourceUrl); /* FTP */ if (request.GetType().Equals(typeof(FtpWebRequest))) { FtpWebRequest ftpRequest = (FtpWebRequest)request; ftpRequest.UseBinary = true; ftpRequest.Credentials = new NetworkCredential ( this.Delivery.Parameters["UserID"].ToString(), this.Delivery.Parameters["Password"].ToString() ); ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile; ftpRequest.UsePassive = true; _batch.Add(file.Download(request, Convert.ToInt64(file.Parameters["Size"]))); } /*OTHER*/ else { _batch.Add(file.Download(request)); } }
private void DownloadFile(DeliveryFile file) { FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(file.SourceUrl); request.UseBinary = true; request.Credentials = new NetworkCredential ( this.Delivery.Parameters["UserID"].ToString(), this.Delivery.Parameters["Password"].ToString() ); request.Method = WebRequestMethods.Ftp.DownloadFile; request.UsePassive = true; _batchDownloadOperation.Add(file.Download(request, Convert.ToInt64(file.Parameters["Size"]))); }
private List <DeliveryFile> FetchNext(List <DeliveryFile> fetchFrom, int offset) { BatchDownloadOperation nextBatch = new BatchDownloadOperation(); List <DeliveryFile> nextRecordsFiles = new List <DeliveryFile>(); foreach (DeliveryFile ReportFile in fetchFrom) { //setting cuurent file has batched and batching next file ReportFile.Parameters.Add("Batch", true); string fileName = ReportFile.Name + "-" + offset; JsonDynamicReader reportReader = new JsonDynamicReader(ReportFile.OpenContents(compression: FileCompression.None), "$.nextRecordsUrl"); string nextRecordPath; if (reportReader.Read()) { nextRecordPath = reportReader.Current.nextRecordsUrl; DeliveryFile nextRecordFile = new DeliveryFile(); nextRecordFile.SourceUrl = ((Token)(ReportFile.Parameters["Token"])).instance_url + nextRecordPath; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(nextRecordFile.SourceUrl); request.Headers.Add("Authorization: OAuth " + ((Token)(ReportFile.Parameters["Token"])).access_token); //check if response contains more than one file FileDownloadOperation fileDownloadOperation = nextRecordFile.Download(request); nextBatch.Add(fileDownloadOperation); nextRecordsFiles.Add(nextRecordFile); } } if (nextRecordsFiles.Count > 0) { nextBatch.Start(); nextBatch.Wait(); nextBatch.EnsureSuccess(); foreach (DeliveryFile file in FetchNext(nextRecordsFiles, offset)) { this.Delivery.Files.Add(file); } } return(nextRecordsFiles); }