Ejemplo n.º 1
0
        private void NewTopLevelComponentButton_Click(object sender, EventArgs e)
        {
            string input  = "";
            var    result = InputDialogs.String(ref input, "Введите имя компонента");

            if (result == DialogResult.OK)
            {
                var repo = new ComponentsRepo();

                var componentExists = repo.Components.Count(c => c.Name == input) > 0;
                if (componentExists)
                {
                    MessageBox.Show("Компонент уже существует", "Ошибка");
                }
                else
                {
                    var newComponent = new Component {
                        Name = input, IsTopLevel = true
                    };
                    repo.Components.Add(newComponent);

                    RefreshView();
                }
            }
        }
Ejemplo n.º 2
0
        private void RenameComponent_Click(object sender, EventArgs e)
        {
            var selectedNode = MainView.SelectedNode;

            if (selectedNode == null)
            {
                MessageBox.Show("Ни один компонент не выбран.", "Ошибка");
                return;
            }

            var repo = new ComponentsRepo();

            var selectedNodeId    = (int)selectedNode.Tag;
            var selectedComponent = repo.Components
                                    .Find(c => c.Id == selectedNodeId);

            DialogResult result;
            bool         componentNameExistsInDatabase;
            string       input = "";

            do
            {
                if (selectedComponent != null)
                {
                    input = selectedComponent.Name;
                }

                result = InputDialogs.String(ref input, "Введите новое имя");

                var componentByName = repo.Components.
                                      Find(c => c.Name == input);

                componentNameExistsInDatabase = (componentByName != null);

                if ((result == DialogResult.OK) && componentNameExistsInDatabase)
                {
                    MessageBox.Show("Компонент с таким именем (" +
                                    componentByName.Name + "@" + componentByName.Id + ") уже существует в базе",
                                    "Ошибка");
                }
            } while (result == DialogResult.OK && componentNameExistsInDatabase);

            if (result == DialogResult.OK)
            {
                if (selectedComponent != null)
                {
                    selectedComponent.Name = input;

                    repo.Components.Update(selectedComponent, selectedComponent.Id);
                }


                RefreshView();
            }
        }