/* Иницируем сохранение отчета в БД для одиночного файла */ private void Btn_Save_Click(object sender, EventArgs e) { if (fileNames.Count > 0) { if (MessageBox.Show("Загрузить отчеты?", "Подтвердите действие", MessageBoxButtons.YesNo) == DialogResult.Yes) { lb_Progress.Visible = true; this.Enabled = false; richTextBox2.Text = ""; string errors = ""; foreach (var _fileName in fileNames) { insertedCount = 0; updatedCount = 0; advProductsList.Clear(); advProductsListForUpdate.Clear(); advProductsListOfErrors.Clear(); OpenNewFileForSponsoredProducts(_fileName); if (advProductsList.Count > 0) { SetCampaignAndMarketplaceToAllRows_AP(_fileName); if (advProductsListOfErrors.Count > 0) { foreach (var t in advProductsListOfErrors) { errors += "Date: " + UpdateDate.ToString() + " Campaign: " + t.CampaignName + "; AdGroup: " + t.AdGroupName + "; Targeting: " + t.Targeting + "; Marketplace: " + GetMarketPlaceNameById(t.MarketPlaceId) + "\n\n"; } } if (errors.Length == 0 || errors.Contains("Competitors")) { MakeSummaryAdvProductListbyTargetingInAdGroups(); lb_Progress.Text = "Обновление данных..."; lb_Progress.Refresh(); advertController.InsertAdvertising_Product_Report(advProductsList, lb_Progress); if (advProductsListForUpdate.Count > 0) { advertController.UpdateAdvertising_Product_Report(advProductsListForUpdate, lb_Progress); } richTextBox2.Text += _fileName + "\n" + "Загружено: " + insertedCount + "\nОбновлено: " + updatedCount + "\nВсего: " + (insertedCount + updatedCount).ToString() + " из " + advProductsList.Count + "\n\n"; LoggerNotification log = new LoggerNotification(_fileName); log.Show(); } else { richTextBox2.Text += errors; } } else { richTextBox2.Text += "Пустой файл: " + _fileName + "\n"; } } this.Enabled = true; lb_Progress.Visible = false; lb_Progress.Text = ""; } } else { MessageBox.Show("Не выбраны файлы для загрузки.", "Ошибка"); } }
/* Иницируем сохранение отчета в БД для множества файлов */ private void uploadAdvertisingReports(string _mode) { if (_mode.Equals("insert")) { bool errors = false; updatedRowsCount = 0; if (advNewerObjectList.Count > 0) { this.Enabled = false; this.Cursor = Cursors.WaitCursor; foreach (var t in advNewerObjectList) { LoadManyFilesStepByStep_AP(t.fullFileName); if (advProductsList.Count > 0) { SetCampaignAndMarketplaceToAllRows_Many_AP(t.marketplace); if (advertController.InsertAdvertising_Product_Report(advProductsList) == 0) { errors = true; } else { updatedRowsCount += advProductsList.Count; } if (advProductsListOfErrors.Count > 0) { string errorsMsg = "Данные по следующим кампаниям не были добавлены. Вороятно, имя товара в названии кампании задано не согласно шаблону.\n"; string errorsstr = ""; foreach (var k in advProductsListOfErrors) { errorsstr += "Date: " + UpdateDate.ToString() + " Campaign: " + k.CampaignName + " AdGroup " + k.AdGroupName + " Targeting " + k.Targeting + "\n"; } Console.WriteLine(errorsstr); } } else { errors = true; Console.WriteLine("Файл отчета \"" + t + "\" не был загружен. Нет данных для сохранения."); } UpdateDate = UpdateDate.AddDays(1); } } else { Console.WriteLine("Выберите файлы для загрузки"); } } else if (_mode.Equals("update")) { bool errors = false; updatedRowsCount = 0; if (advOlderObjectList.Count > 0) { foreach (var t in advOlderObjectList) { LoadManyFilesStepByStep_AP(t.fullFileName); if (advProductsList.Count > 0) { SetCampaignAndMarketplaceToAllRows_Many_AP(t.marketplace); if (advertController.UpdateAdvertising_Product_Report(advProductsList) == -1) { errors = true; } else { updatedRowsCount += advProductsList.Count; } if (advProductsListOfErrors.Count > 0) { string errorsMsg = "Данные по следующим кампаниям не были добавлены. Вороятно, имя товара в названии кампании задано не согласно шаблону.\n"; string errorsstr = ""; foreach (var k in advProductsListOfErrors) { errorsstr += "Date: " + UpdateDate.ToString() + " Campaign: " + k.CampaignName + " AdGroup " + k.AdGroupName + " Targeting " + k.Targeting + "\n"; } Console.WriteLine(errorsstr); } } else { errors = true; Console.WriteLine("Файл отчета \"" + t + "\" не был загружен. Нет данных для сохранения."); } UpdateDate = UpdateDate.AddDays(1); } } else { Console.WriteLine("Выберите файлы для загрузки"); } } }