/* Вызываем из KeywordsAreExisted для редактирования ключей из таблицы */ public FullSemCoreView(KeywordsAreExistedView _form, string[,] arr) { InitializeComponent(); ControlFormKeywordsAreExisted = _form; GetStarted(); }
/* Добавляем новые ключи в БД (ключи, которых нет в выбранной категории) */ private void CreateNewKeywordsInDB() { bool error = false; //признак ошибки при записи нового ключа в БД; значит, такой ключ уже есть int j = 0; string[,] _alreadyExistedKeywords = new string[dgv_NewKeys.RowCount, 2]; //ключи, которые уже есть в БД, но в другой категории List <int> forDeleting = new List <int> { }; for (int i = 0; i < dgv_NewKeys.RowCount; i++) { if (scController.InsertNewKeyword(int.Parse(dgv_NewKeys.Rows[i].Cells[0].Value.ToString()), int.Parse(dgv_NewKeys.Rows[i].Cells[1].Value.ToString()), dgv_NewKeys.Rows[i].Cells[2].Value.ToString(), int.Parse(dgv_NewKeys.Rows[i].Cells[3].Value.ToString()), DateTime.Now) == 1) { //progressBar1.Value++; } else { _alreadyExistedKeywords[j, 0] = dgv_NewKeys.Rows[i].Cells[2].Value.ToString(); _alreadyExistedKeywords[j, 1] = dgv_NewKeys.Rows[i].Cells[3].Value.ToString(); j++; error = true; forDeleting.Add(i); //progressBar1.Value++; } } //удаляем ключи из dgv_NewKeys, т.к. они не новые, а просто есть в другой категории for (int i = forDeleting.Count - 1; i >= 0; i--) { dgv_NewKeys.Rows.RemoveAt(forDeleting[i]); } lb_NewKeys.Text = str_NewKeys + " (" + dgv_NewKeys.RowCount + ")"; lb_UpdatedKeys.Text = str_UpdatedKeys + " (" + dgv_Target.RowCount + ")"; lb_UploadedKeys.Text = str_UploadedKeys + " (" + dgv_Source.RowCount + ")"; if (error) { if (MessageBox.Show("Некоторые ключи не были обновлены, т.к. они принадлежат другой категории. Обновить их всё равно? Если нет, автоматически откроется окно для редактирования всех необновленных ключей.", "Внимание", MessageBoxButtons.OKCancel) == DialogResult.OK) { //все равно обновляем эти ключи for (int i = 0; i < _alreadyExistedKeywords.Length / 2; i++) { scController.UpdateExistingKeywordByKeyword(int.Parse(GetSelectedProductTypeId().ToString()), int.Parse(GetSelectedCategoryId().ToString()), _alreadyExistedKeywords[i, 0], int.Parse(_alreadyExistedKeywords[i, 1]), DateTime.Now); } } else { //редактируем эти ключи, а потом передаем обратно сюда KeywordsAreExistedView kae = new KeywordsAreExistedView(_alreadyExistedKeywords, cb_KeywordCategory.SelectedItem.ToString()); if (kae.ShowDialog() == DialogResult.OK) { Fill_dgv_Source_ByExistingKeys(_alreadyExistedKeywords); } dgv_NewKeys.ScrollBars = ScrollBars.Both; progressBar1.Visible = false; progressBar1.Value = 0; } } else { MessageBox.Show("Все данные были обновлены успешно.", "Успех"); dgv_NewKeys.ScrollBars = ScrollBars.Both; progressBar1.Visible = false; progressBar1.Value = 0; } }
public FullSemCoreController(KeywordsAreExistedView _form) { connection = DBData.GetDBConnection(); ControlFormKeywordsAreExisted = _form; }