//public void Upload(GoogleProductFeedAccount account, IEnumerable records) //{ // switch (account) // { // case GoogleProductFeedAccount.Au: // this.txtFileName = "Feed_Live_AU.txt"; // this.zipFileName = "Feed_Live_AU.zip"; // break; // case GoogleProductFeedAccount.Us: // this.txtFileName = "Feed_Live_US.txt"; // this.zipFileName = "Feed_Live_US.zip"; // break; // default: // this.txtFileName = "Feed_Live_UK.txt"; // this.zipFileName = "Feed_Live_UK.zip"; // break; // } // try // { // Task.Factory.StartNew( // () => // { // this.dataService.SendMessage("Preparing text file"); // var headerColumns = new List(); // if (account == GoogleProductFeedAccount.Uk) // { // headerColumns.AddRange( // (new[] // { // "id", "title", "description", "google_product_category", "product type", // "link", "image link", "condition", "availability", "price", "brand", "mpn", // "gtin", "shipping_weight", "shipping_label" // }).Select( // column => column.Quotations()).ToArray()); // } // else // { // headerColumns.AddRange( // (new[] // { // "id", "title", "description", "google_product_category", "product type", // "link", "image link", "condition", "availability", "price", "brand", "mpn", // "gtin", "shipping_weight" // }).Select(column => column.Quotations()).ToArray()); // } // var header = string.Format("{0}\n", string.Join("|", headerColumns)); // this.log.Info(header); // this.pipeStream.Write(header.ToBytes(), 0, header.ToBytes().Length); // var format = account == GoogleProductFeedAccount.Uk // ? "\"{0}\"|\"{1}\"|\"{2}\"|\"{3}\"|\"{4}\"|\"{5}\"|\"{6}\"|\"{7}\"|\"{8}\"|\"{9}\"|\"{10}\"|\"{11}\"|\"{12}\"|\"{13}\"|\"{14}\"\n" // : "\"{0}\"|\"{1}\"|\"{2}\"|\"{3}\"|\"{4}\"|\"{5}\"|\"{6}\"|\"{7}\"|\"{8}\"|\"{9}\"|\"{10}\"|\"{11}\"|\"{12}\"|\"{13}\"\n"; // foreach (var record in records) // { // var message = string.Format( // format, // record.Id, // record.Title.GoogleTruncate(96), // record.Description.GoogleTruncate(256), // record.GoogleProductCategory, // record.ProductType, // record.Link, // record.ImageLink, // record.Condition, // record.Availability, // record.Price, // record.Brand, // record.Mpn, // record.Gtin, // record.ShippingWeight, // record.ShippingLabel); // //this.log.Info(message); // var buffer = Encoding.ASCII.GetBytes(message); // this.pipeStream.Write(buffer, 0, buffer.Length); // this.isNotReady = false; // } // this.pipeStream.Flush(); // this.pipeStream.Close(); // }); // using (var memoryStream = new MemoryStream()) // { // Thread.Sleep(10000); // using (var zip = new ZipFile()) // { // zip.CompressionLevel = CompressionLevel.BestCompression; // //zip.AddProgress += this.ZipOnAddProgress; // //zip.SaveProgress += this.ZipOnSaveProgress; // while (this.isNotReady) // { // Thread.Sleep(100); // } // this.log.Info("Start compressing text file"); // this.dataService.SendMessage("Compressing text file"); // zip.AddEntry(this.txtFileName, this.pipeStream); // zip.Save(memoryStream); // } // memoryStream.Position = 0; // using ( // var ftp = new FTP("Michal Gajda/Aphrohead Ltd 201198", "2;640DE373013E3E0060B75EB0971AADE0") // { // HostAddress = this.hostAddress, // UserName = this.userName, // Password = this.password, // UseBinary = true, // UsePassive = true // }) // { // ftp.FileProgressEvent += this.FtpOnFileProgressEvent; // ftp.FileTransferCompleteEvent += this.FtpOnFileTransferCompleteEvent; // ftp.Connect(); // if (ftp.IsConnected) // { // this.dataService.SendMessage("Uploading compressed file"); // if (ftp.FileExists(this.zipFileName)) // { // ftp.DeleteFile(this.zipFileName); // } // ftp.UploadStream(memoryStream, this.zipFileName); // } // } // } // } // catch (Exception exception) // { // this.log.Error(exception.Message, exception); // } // GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); // GC.WaitForPendingFinalizers(); //}