private void backupBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { List <Product> products = new List <Product>(); client = new PrestaShopClient("http://4piano.ir/admin300ix65de/", Properties.Settings.Default.username, Properties.Settings.Default.password, false, this); foreach (Product product in client.getProductsSummary()) { products.Add(product); } int counter = 0; foreach (Product product in products) { if (backupBackgroundWorker.CancellationPending) { e.Cancel = true; return; } client.DownloadProduct(product, backupFolderDialog.SelectedPath); PrestaShopClient.SaveCSVFromProducts(products, Path.Combine(backupFolderDialog.SelectedPath, Path.GetFileName(backupFolderDialog.SelectedPath) + ".csv")); counter++; backupBackgroundWorker.ReportProgress(100 * counter / products.Count); } client.Dispose(); }
private void openButton_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { productsPanel.Controls.Clear(); IEnumerable <Product> products = PrestaShopClient.GetProductsFromCSV(openFileDialog.FileName); foreach (Product product in products) { productsPanel.Controls.Add(new ProductView(product) { Dock = DockStyle.Top }); } } }
private void uploadBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { //string csvTempAddress = Path.Combine(Application.ExecutablePath, "temp.csv"); List <Product> products = new List <Product>(); foreach (ProductView productView in productsPanel.Controls) { products.Add(productView.Product); } log("got products"); int counter = 0; int totalWork = 2 + products.Count(product => { return(!product.FileAndImagesSaved); }); try { client = new PrestaShopClient("http://4piano.ir/admin300ix65de/", Properties.Settings.Default.username, Properties.Settings.Default.password, false, this); }catch (Exception ex) { log(ex.ToString()); } log("initialized client"); counter++; uploadBackgroundWorker.ReportProgress(100 * counter / totalWork); if (uploadBackgroundWorker.CancellationPending) { e.Cancel = true; log("cancelling"); return; } foreach (Product product in products.FindAll(item => { return(!item.FileAndImagesSaved); })) { //try { client.Save(product); log("saved one product"); //} catch (Exception) //{ // continue; //} foreach (ProductView view in productsPanel.Controls) { if (view.Product == product) { view.BeginInvoke(new Action(delegate { view.UpdateView(); })); } } counter++; uploadBackgroundWorker.ReportProgress(100 * counter / totalWork); if (uploadBackgroundWorker.CancellationPending) { e.Cancel = true; log("cancelling"); return; } } //client.ApplyCSV(csvTempAddress, products); client.ApplyCSV(openFileDialog.FileName, products); foreach (ProductView view in productsPanel.Controls) { view.Product.CSVPushed = true; view.BeginInvoke(new Action(delegate { view.UpdateView(); })); } log("applied csv"); uploadBackgroundWorker.ReportProgress(100); }