Exemple #1
0
        private void DoWork(object sender, DoWorkEventArgs e)
        {
            var splitted = new List <string>();
            var fileList = new SkuService().GetCSV("https://www.cordners.co.uk/exportcsv/");

            string[] tempStr;
            tempStr = fileList.Split('\t');
            var skus = new List <string>();

            foreach (var item in tempStr)
            {
                if (!string.IsNullOrEmpty(item))
                {
                    if (item.Contains('\n') && item.Split('\n')[0].Length > 6)
                    {
                        var sku = item.Split('\n')[0].Substring(0, 6);
                        if (!skus.Contains(sku))
                        {
                            splitted.Add(sku);
                            skus.Add(sku);
                        }
                    }
                }
            }

            var skuService = new SkuService();

            skuService.DeleteDescriptions();

            var count = 0;
            var check = splitted.Count / 100;
            var loop  = 0;

            for (var i = 0; i < splitted.Count; i++)
            {
                if (check == count)
                {
                    loop++;
                    worker.ReportProgress(loop);
                    count = 0;
                }
                else
                {
                    count++;
                }
                Insert(splitted[i], SqlQueries.InsertSKU);
            }

            var things  = new SkuService().GetStockSync();
            var online  = new SkuService().GetOnlineStockSync();
            var missing = new SkuService().GetMissingStockSync(online, things);

            Things = new ObservableCollection <SpecailOrders>(missing.OrderBy(x => x.MasterSupplier));
            worker.ReportProgress(100);
        }