public DialogProject(Project project)
        {
            this.DataContext = this;
            this.project     = project;
            this.InitializeComponent();
            this.name.Text        = project.Name;
            this.description.Text = project.Note;
            List <CurcuitInfo> curcuits = this.Circuits();
            CurcuitInfo        current  = curcuits.First(i => i.Circuit == this.project.StartupCircuit);

            this.startup.ItemsSource  = curcuits;
            this.startup.SelectedItem = current;
        }
        private void ButtonOkClick(object sender, RoutedEventArgs e)
        {
            try {
                string      name        = this.name.Text.Trim();
                string      description = this.description.Text.Trim();
                CurcuitInfo info        = (CurcuitInfo)this.startup.SelectedItem;

                if (this.project.Name != name || this.project.Note != description || this.project.StartupCircuit != info.Circuit)
                {
                    this.project.CircuitProject.InTransaction(() => {
                        this.project.Name = name;
                        this.project.Note = description;
                        this.project.SetStartup(info.Circuit);
                    });
                }
                this.Close();
            } catch (Exception exception) {
                App.Mainframe.ReportException(exception);
            }
        }