private void RefillFilterCheckBoxes() { MainFilterList_ListView.Items.Clear(); foreach (var item in DataBaseWorker.GetOnlyColumnList(App.Server, "i_mod")) { MainFilterList_ListView.Items.Add(new CheckBox() { Content = item }); } }
private void FastAddData() { string data = new TextRange(ToAddData_RichTextBox.Document.ContentStart, ToAddData_RichTextBox.Document.ContentEnd).Text; string mod = ToFastAddItemMod_ComboBox.Text; if (data.Length == 0) { MyMessageBox.Show("Необходимо заполнить все поля!" + "\nПоле \"Данные\" было пустое.", "Недостаточно данных", MessageBoxButton.OK, MessageBoxImage.Warning); ToAddData_RichTextBox.Focus(); return; } else if (mod == "") { MyMessageBox.Show("Необходимо заполнить все поля!" + "\nПоле \"Мод\" было пустое.", "Недостаточно данных", MessageBoxButton.OK, MessageBoxImage.Warning); ToFastAddItemMod_ComboBox.Focus(); return; } else if (DataBaseWorker.GetOnlyColumnList(App.Server, "i_mod").Contains(mod) == false) { var result = MyMessageBox.Show("Вы указали в поле \'Мод\' значение, которого ещё нет в таблице." + "\nХотите добавить новый тип значений для \'Мод\'", "Изменение данных", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result != MessageBoxResult.Yes) { return; } } int success = 0; List <string> errorList = new List <string>(); foreach (var item in data.Split(new char[] { '\n' }, options: StringSplitOptions.RemoveEmptyEntries).Reverse()) { ToAddData_RichTextBox.ScrollToHome(); ToAddData_RichTextBox.IsEnabled = false; Mouse.OverrideCursor = Cursors.Wait; string clearItem = item.Remove(item.IndexOf('\r')); if (clearItem == "") { continue; } if (Regex.IsMatch(clearItem, @"(.+) ([0-9]+) шт. - ([0-9]+)$")) { Item newItem = Item.FromString(clearItem, mod); if (ItemViewModel.ItemList.Contains(newItem) == false) { DataBaseWorker.InsertData(App.Server, Item.FromString(clearItem, mod)); success++; } ToAddData_RichTextBox.Document.Blocks.Remove(ToAddData_RichTextBox.Document.Blocks.LastBlock); ToAddData_RichTextBox.ScrollToEnd(); UpdateDispatcher(); } else { errorList.Add(clearItem); Debug.WriteLine(clearItem); } } ToFastAddItemMod_ComboBox.Text = ""; ToAddData_RichTextBox.IsEnabled = true; Mouse.OverrideCursor = Cursors.Arrow; if (errorList.Count == 0) { if (success > 0) { MyMessageBox.Show($"{success} строк были успешно добавлены!", "Успех", MessageBoxButton.OK, MessageBoxImage.Information); } else { MyMessageBox.Show($"Таблица уже содержит все эти данные", "Успех", MessageBoxButton.OK, MessageBoxImage.Information); ToAddData_RichTextBox.Document.Blocks.Clear(); ToFastAddItemMod_ComboBox.Text = ""; } RefillFilterCheckBoxes(); } else { MyMessageBox.Show($"{errorList.Count} строк не были добавлены. \nПроверьте их валидность, или воспользуйтесь обычным режимом добавления.", "Неверный формат", MessageBoxButton.OK, MessageBoxImage.Warning); } }