Example #1
0
        public void Import()
        {
            // скачивание прайса
            ProccessMesenger.Write("Импорт: скачивание прайса");
            var begemotPrice = new BegemotParser();
            DataTable table = begemotPrice.GetPriceTable();

            // импорт прайса в базу данных
            ProccessMesenger.Write("Импорт: загрузка прайса в базу данных");
            using (var copy = new SqlBulkCopy(Context.Inst.Database.Connection.ConnectionString))
            {
                for (int i = 0; i < table.Columns.Count; i++)
                {
                    copy.ColumnMappings.Add(i, i);
                }

                copy.DestinationTableName = "BegemotProductSet";
                copy.WriteToServer(table);
            }

            // обработка импортированных данных
            ProccessMesenger.Write("Импорт: обработка импортированных данных");
            var bulkUpdateSql = File.ReadAllText("SQL/bulk update/_all.sql", Encoding.GetEncoding("windows-1251"));
            var executed = Context.Inst.Database.ExecuteSqlCommand(bulkUpdateSql);

            ProccessMesenger.Write("Импорт: синхронизация товаров");
            Product.SyncProducts();

            ProccessMesenger.Write("Импорт: успешно завершен");
        }
        public void LoadFile(string filePath)
        {
            var parser = new BegemotParser();
            var saleRows = parser.ParseSale(filePath);

            _data = new List<BegemotSalePrice>();

            foreach (var saleRow in saleRows)
            {
                var salePrice = new BegemotSalePrice();

                salePrice.Article = saleRow.Article;
                salePrice.RetailPrice = saleRow.RetailPrice;
                salePrice.WholeSalePrice = saleRow.WholeSalePrice;
                salePrice.RetailPriceOld = saleRow.RetailPriceOld;
                salePrice.WholeSalePriceOld = saleRow.WholeSalePriceOld;

                _data.Add(salePrice);
            }
        }