示例#1
0
        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();
        }
示例#2
0
 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
             });
         }
     }
 }
示例#3
0
        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);
        }