/* Заносим данные в List<AdvertisingProductsModel> */ private void SetStockToList(IDataRecord record) { StockModel adprModel = new StockModel(); for (int i = 0; i < record.FieldCount; i++) { adprModel.WriteData(i, record[i]); } stockList.Add(adprModel); }
/* Загрузка файла, его обработка и преобразование в List */ private void btn_UploadFromFile_Click(object sender, EventArgs e) { prodController.GetProductsAllJOIN(); openFileDialog1.Filter = "Неразмеченные файлы|*.csv"; openFileDialog1.Title = "Выбор файла для открытия"; openFileDialog1.FileName = ""; bool firstRow = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { stockList.Clear(); path = openFileDialog1.FileName; try { using (TextFieldParser parser = new TextFieldParser(@path)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); string[] fields; while (!parser.EndOfData) { //Process row fields = parser.ReadFields(); if (!firstRow) { StockModel tmpObj = new StockModel(); tmpObj.UpdateDate = UpdateDate; tmpObj.ASIN = fields[2]; tmpObj.SKU = fields[0]; tmpObj.FNSKU = fields[1]; tmpObj.Name = fields[3]; tmpObj.FulfillableItems = int.Parse(fields[10]); tmpObj.ReservedItems = int.Parse(fields[12]); tmpObj.InboundShipped = int.Parse(fields[16]); tmpObj.InboundWorking = int.Parse(fields[15]); tmpObj.MarketPlaceId = GetMarketPlaceIdByName(cb_MarketPlace.SelectedItem.ToString()); tmpObj.ProductId = GetProductIdBySku(tmpObj.SKU, tmpObj.MarketPlaceId); stockList.Add(tmpObj); } else { firstRow = false; } } lb_Path.Text = path; } } catch (Exception ex) { MessageBox.Show("Проблема при открытии файла. Убедитесь, что Вы выбрали файл с нужны расширением. Возможно, разметка файла не поддерживается программой.", "Ошибка при открытии"); stockList.Clear(); } } }