/* загрузить отчет в БД */ private void UploadSingleReportToDB() { this.Enabled = false; if (businessController.InsertBusinessReport(businessList) != 1) { MessageBox.Show("Во время сохранения произошла ошибка. Работа была прервана.", "Ошибка"); } else { MessageBox.Show("Сохранение успешно. Всего сохранено строк - " + businessList.Count, "Успех"); } this.Enabled = true; }
//---------------------------------------------------------------------------------- #region Business /* Сохранить в БД много файлов */ private void uploadBusinessReports(string _mode) { bool errors = false; updatedRowsCount = 0; List <string> badFileNames = new List <string> { }; if (_mode.Equals("insert")) { if (busNewerObjectList.Count > 0) { this.Enabled = false; this.Cursor = Cursors.WaitCursor; string error_skus = ""; for (int i = 0; i < busNewerObjectList.Count; i++) { int marketplaceid = GetMarketPlaceIdByName_Many(busNewerObjectList[i].marketplace); int productId; LoadManyFilesStepByStep(busNewerObjectList[i].fullFileName); if (businessList.Count > 0) { productId = -2; for (int j = 0; j < businessList.Count; j++) { productId = GetProductIdBySKU(businessList[j].SKU, marketplaceid); if (productId == -1) { if (!error_skus.Contains(businessList[j].SKU)) { error_skus += businessList[j].SKU + "\n"; } } } } } if (error_skus.Length > 0) { //MessageBox.Show("Товаров ниже нет в системе. Для продолжения сначала добавьте эти товары.\n" + error_skus, "Ошибка"); //richTextBox1.Text = error_skus; //richTextBox1.Enabled = true; } else { for (int i = 0; i < busNewerObjectList.Count; i++) { LoadManyFilesStepByStep(busNewerObjectList[i].fullFileName); if (businessList.Count > 0) { UpdateDate = busNewerObjectList[i].updateDate; PrepareReportForSaving_Many(busNewerObjectList[i].marketplace); if (businessController.InsertBusinessReport(businessList) == 0) { errors = true; } else { updatedRowsCount += businessList.Count; } //if (businessListOfErrors.Count > 0) //{ // string errorsMsg = "Данные по следующим товарам не были добавлены. Вороятно, этот товар не занесен в программу.\n"; // string errorsstr = ""; // foreach (var k in businessListOfErrors) // { // errorsstr += "Данные товара SKU: " + k.SKU + " Название товара: " + GetProductNameById(k.ProductId) + "\nне были добавлены. Вороятно, этот товар не занесен в программу"; // } // MessageBox.Show(errorsMsg, "Ошибка"); // richTextBox1.Text = errorsstr; //} } else { //MessageBox.Show("Файл отчета \"" + FileNames[i] + "\" не был загружен. Нет данных для сохранения.", "Ошибка"); //badFileNames.Add(FileNames[i]); errors = true; } UpdateDate = UpdateDate.AddDays(1); } if (!errors) { Console.WriteLine("Сохранение успешно. Всего сохранено строк - " + updatedRowsCount); } else { Console.WriteLine("Сохранение прошло с ошибками."); //richTextBox1.Text += "Ниже представлены названия файлов, которые не получилось загрузить. Данные из них не были загружены на сервер.\n"; foreach (var t in badFileNames) { //richTextBox1.Text += t + "\n"; } } } this.Cursor = Cursors.Default; this.Enabled = true; } else { Console.WriteLine("Файлы отчетов не были загружены. Для продолжения загрузите один или более файл отчета.", "Ошибка"); } } if (_mode.Equals("update")) { if (busOlderObjectList.Count > 0) { this.Enabled = false; this.Cursor = Cursors.WaitCursor; string error_skus = ""; for (int i = 0; i < busOlderObjectList.Count; i++) { int marketplaceid = GetMarketPlaceIdByName_Many(busOlderObjectList[i].marketplace); int productId; LoadManyFilesStepByStep(busOlderObjectList[i].fullFileName); if (businessList.Count > 0) { productId = -2; for (int j = 0; j < businessList.Count; j++) { productId = GetProductIdBySKU(businessList[j].SKU, marketplaceid); if (productId == -1) { if (!error_skus.Contains(businessList[j].SKU)) { error_skus += businessList[j].SKU + "\n"; } } } } } if (error_skus.Length > 0) { } else { for (int i = 0; i < busOlderObjectList.Count; i++) { LoadManyFilesStepByStep(busOlderObjectList[i].fullFileName); if (businessList.Count > 0) { UpdateDate = busOlderObjectList[i].updateDate; PrepareReportForSaving_Many(busOlderObjectList[i].marketplace); if (businessController.UpdateBusinessReport(businessList) == 0) { errors = true; } else { updatedRowsCount += businessList.Count; } } else { errors = true; } UpdateDate = UpdateDate.AddDays(1); } if (!errors) { Console.WriteLine("Сохранение успешно. Всего сохранено строк - " + updatedRowsCount); } else { Console.WriteLine("Сохранение прошло с ошибками."); } } this.Cursor = Cursors.Default; this.Enabled = true; } else { Console.WriteLine("Файлы отчетов не были загружены. Для продолжения загрузите один или более файл отчета.", "Ошибка"); } } }