private void CommonAddData() { if (ToAddItemName_TextBox.Text == "") { MyMessageBox.Show("Необходимо заполнить все поля!\nПоле \"Название\" было пустое.", "Недостаточно данных", MessageBoxButton.OK, MessageBoxImage.Warning); ToAddItemName_TextBox.Focus(); return; } if (ToAddItemMod_ComboBox.SelectedIndex == -1 && ToAddItemMod_ComboBox.Text == "") { MyMessageBox.Show("Необходимо заполнить все поля!\nПоле \"Мод\" было пустое.", "Недостаточно данных", MessageBoxButton.OK, MessageBoxImage.Warning); ToAddItemMod_ComboBox.Focus(); return; } if (ToAddItemMod_ComboBox.Text != "" && !ServerViewModel.Mods.Contains(ToAddItemMod_ComboBox.Text)) { var result = MyMessageBox.Show("Вы указали в поле \'Мод\' значение, которого ещё нет в таблице.\nХотите добавить новый тип значений для \'Мод\'", "Изменение данных", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result != MessageBoxResult.Yes) { return; } } Item newItem = new Item() { Header = ToAddItemName_TextBox.Text, Count = ToAddItemCount_IntUpDown.Value.Value, Price = ToAddItemPrice_IntUpDown.Value.Value, Mod = ToAddItemMod_ComboBox.Text }; if (ItemViewModel.ItemList.Contains(newItem) == false) { DataBaseWorker.InsertData(App.Server, newItem); MyMessageBox.Show("Добавление новых данных прошло успешно!", "Успех", MessageBoxButton.OK, MessageBoxImage.Information); RefillFilterCheckBoxes(); } else { MyMessageBox.Show("Таблица уже содержит такой объект.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } ToAddItemName_TextBox.Text = ToAddItemMod_ComboBox.Text = ""; ToAddItemCount_IntUpDown.Value = ToAddItemPrice_IntUpDown.Value = 1; }
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); } }