public CreateGameWindow() { InitializeComponent(); StringBuilder characterGroups = new StringBuilder(); foreach (KeyValuePair <string, string> characterGroup in Game.Requirements.NameCharacters) { characterGroups.Append(characterGroup.Value); AcceptableCharactersTextBlock.Inlines.Add(new Run($" \u2022 {characterGroup.Key} ({characterGroup.Value})")); AcceptableCharactersTextBlock.Inlines.Add(new LineBreak()); } InputChecker = new TextBoxInputChecker($@"\A[{characterGroups.ToString()}]+\z", Game.Requirements.NameMaxLength); AcceptableLengthTextBlock.Inlines.Add(new Run($" \u2022 {Game.Requirements.NameMinLength}-{Game.Requirements.NameMaxLength} Characters")); DataObject.AddPastingHandler(GameNameTextBox, TextBox_Paste); GameNameTextBox.Focus(); }
private void AddBtn_Click(object sender, RoutedEventArgs e) { string tempPrice; VideoGame vg = new VideoGame(); vg.GameName = GameNameTextBox.Text; vg.Rating = RatingTextBox.Text; tempPrice = PriceTextBox.Text; if (!double.TryParse(tempPrice, out double i)) { } vg.Price = i; VideoGameListView.Items.Add(vg); GameNameTextBox.Text = " "; RatingTextBox.Text = " "; PriceTextBox.Text = " "; GameNameTextBox.Focus(); }
private bool CheckingIfEveryFieldIsFilledCorrectly() { if (GameNameTextBox.Text == defaultGameName) { MessageBox.Show("Название игры является обязательным полем!", "Ошибка!"); GameNameTextBox.Focus(); return(false); } else if (GameDescriptionTextBox.Text == defaultDescription) { MessageBox.Show("Описание должно присутствовать у каждой игры. Не оставляйте это поле пустым.", "Ошибка!"); GameDescriptionTextBox.Focus(); return(false); } else if (CharacteristicsListBox.Items.Count == 0) { MessageBox.Show("В игре не может не быть характеристик вообще — добавьте, пожалуйста, хотя бы одну!", "Ошибка!"); AddNewDefaultCharacteristic(); _characteristicNameTextBoxShouldBeFocused = true; return(false); } else if (UIMethods.FindCurrentTextInTextBoxesOfTheTemplatedListBox(CharacteristicsListBox, 0, defaultCharacteristicName, "Название характеристики — обязательный аттрибут. Заполните все поля либо удалите ненужные характеристики.")) { return(false); } var namesOfCharacteristics = _characteristics.Select(ch => ch.Name); var namesOfCharacteristicsWithOneRegister = _characteristics.Select(ch => ch.Name.ToUpperInvariant()); if (GeneralMethods.AreThereSameElementsInTheStringCollection(namesOfCharacteristics, out string element)) { UIMethods.FindCurrentTextInTextBoxesOfTheTemplatedListBox(CharacteristicsListBox, 0, element, "По крайней мере две ваши характеристики имеют одинаковое название. Так нельзя — как же игроки будут их различать?"); _theSameCharacteristicsNamesErrorWasShown = true; return(false); } else if (GeneralMethods.AreThereSameElementsInTheStringCollection(namesOfCharacteristicsWithOneRegister, out element)) { if (_theSameCharacteristicsNamesErrorWasShown) { UIMethods.FindCurrentTextInTextBoxesOfTheTemplatedListBox(CharacteristicsListBox, 0, element, "Одинаковые названия в разном регистре — не вариант, уж простите. Пожалуйста, измените названия."); } else { UIMethods.FindCurrentTextInTextBoxesOfTheTemplatedListBox(CharacteristicsListBox, 0, element, "По крайней мере две ваши характеристики имеют одинаковое название. Без учета регистра. Пожалуйста, измените названия."); } return(false); } int amountOfGamesWithSuchName = _user.Games.Where(game => game.Name == GameNameTextBox.Text).Count(); if ((amountOfGamesWithSuchName > 0 && _creatingTheGameForTheFirstTime) || (amountOfGamesWithSuchName > 1 && (!_creatingTheGameForTheFirstTime))) { MessageBox.Show("У Вас уже есть игра с таким названием. Пожалуйста, придумайте для этой игры другое!", "Ошибка!"); GameNameTextBox.Focus(); return(false); } return(true); }