public CreateNewItemWindow(IControllerBase databaseController, bool isChange = false, int UID = -1) { this.databaseController = databaseController; this.isChange = isChange; this.UID = UID; InitializeComponent(); AddCategoriesToSelector(); if (isChange) { MainLabel.Content = "Изменение товара"; prevItemData = databaseController.GetFullItemData(UID); CategoryComboBox.SelectedIndex = FindComboBoxIndexWithCategory(prevItemData.Category).Value; NameTextBox.Text = prevItemData.Name; PriceTextBox.Text = prevItemData.Price.ToString(); DescriptionTextBox.Text = prevItemData.Description; for (var i = 0; i < CategoryParamsListBox.Items.Count; i++) { ((TextBox)((Grid)CategoryParamsListBox.Items[i]).Children[1]).Text = prevItemData.Params[i]; } } }
private void OnClickSaveButton(object sender, RoutedEventArgs e) { void disableHighlight() { NameTextBox.BorderBrush = new SolidColorBrush(new Color { R = 171, G = 173, B = 179 }); PriceTextBox.BorderBrush = new SolidColorBrush(new Color { R = 171, G = 173, B = 179 }); foreach (Grid grid in CategoryParamsListBox.Items) { ((TextBox)grid.Children[1]).BorderBrush = new SolidColorBrush(new Color { R = 171, G = 173, B = 179 }); } } bool canCreate = true; disableHighlight(); if (CategoryComboBox.SelectedItem == null) { canCreate = false; } if (NameTextBox.Text == "") { canCreate = false; NameTextBox.BorderBrush = Brushes.Red; } if (PriceTextBox.Text == "") { canCreate = false; PriceTextBox.BorderBrush = Brushes.Red; } var paramsList = new List <string>(); foreach (Grid grid in CategoryParamsListBox.Items) { var paramBox = (TextBox)grid.Children[1]; //var paramName = (string)paramBox.Tag; var paramValue = paramBox.Text; if (paramValue == "") { paramBox.BorderBrush = Brushes.Red; canCreate = false; } //paramsDict.Add(paramName, paramValue); paramsList.Add(paramValue); } if (canCreate) { if (isChange) { var fullItemData = new FullItemData { Category = ((TextBlock)CategoryComboBox.SelectedItem).Text, Name = NameTextBox.Text, Params = paramsList.ToArray(), Price = int.Parse(PriceTextBox.Text), Description = DescriptionTextBox.Text, Count = prevItemData.Count }; databaseController.SetItemDataForUID(UID, fullItemData); } else { databaseController.CreateNewItem(((TextBlock)CategoryComboBox.SelectedItem).Text, NameTextBox.Text, paramsList.ToArray(), int.Parse(PriceTextBox.Text), DescriptionTextBox.Text); ((ViewerWindow)this.Owner).UpdateCategoryCreateCategoryList(); } ((ViewerWindow)this.Owner).UpdateItemsList(); ((ViewerWindow)this.Owner).UpdateStatisticItemsList(); this.Close(); } }