コード例 #1
0
        /// <summary>
        /// Hinzufügen der geöffneten Datei zur Graphdatenbank
        /// </summary>
        private void ClickOnModelToNeo4j(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "IFC-Files (*.ifc)|*.ifc";
            string sourceFile = null;
            string resultFile = null;

            if (openFileDialog.ShowDialog() == true)
            {
                sourceFile = openFileDialog.FileName;
            }

            if (sourceFile != null)
            {
                var parser = new Instance2Neo4jParser
                {
                    SourceLocation = sourceFile,
                    TargetLocation = resultFile
                };

                var modelName = "model2";
                parser.SendToDb(false, modelName, Neo4jAccessData.Uri, Neo4jAccessData.User, Neo4jAccessData.Password);
                MessageBox.Show("Modell wurde zur Graphdatenbank hinzugefügt.", "");
            }
            else
            {
                MessageBox.Show("Ifc-Datei konnte nicht hinzugefügt werden. Probieren Sie es erneut.");
            }
        }
コード例 #2
0
        /// <summary>
        /// Bestätigen der Prüfung. Modell kann zur Graphdatenbank hinzugefügt werden oder es wird nur eine Schablone erstellt.
        /// </summary>
        private void ClickOnNewTemplate(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "IFC-Files (*.ifc)|*.ifc";
            string sourceFile = null;
            string resultFile = null;

            if (openFileDialog.ShowDialog() == true)
            {
                var filestream = openFileDialog.OpenFile();
                LabelShowOpenFile.Content = openFileDialog.FileName;
                sourceFile     = openFileDialog.FileName;
                SourcefilePath = openFileDialog.FileName;
            }

            if (ExaminerName.Text == "" || ModelName.Text == "" || sourceFile == null || ExaminerName.Text == "Name des Prüfers" || ModelName.Text == "Name des Gebäudemodells")
            {
                MessageBox.Show("Geben sie Prüfer- und Modellname, sowie die zu prüfende IFC-Datei an. ");
            }
            else
            {
                var result = MessageBox.Show("Soll die IFC-Datei in die Graphdatenbank geladen werden?", "", MessageBoxButton.YesNo);

                //Hinzufügen des Modells in die Graphdatenbank
                if (result == MessageBoxResult.Yes)
                {
                    var parser = new Instance2Neo4jParser
                    {
                        SourceLocation = sourceFile,
                        TargetLocation = resultFile
                    };

                    var modelName = "templateModel";
                    parser.SendToDb(false, modelName, Neo4jAccessData.Uri, Neo4jAccessData.User, Neo4jAccessData.Password);
                    MessageBox.Show("IFC-Datei wurde in die Graphdatenbank geladen.", "Neue Schablone");
                }

                //Erstellen der Schablone für das geprüfte Modell
                var TemplateModel = new ModelTemplate("templateModel", StoreyRestriction, ExaminationRestriction);

                Byte[] bytes = File.ReadAllBytes(sourceFile);
                string file  = Convert.ToBase64String(bytes);
                //Erzeugen einer neuen Genehmigung
                Permission = new Permission(ExaminerName.Text, ModelName.Text, TemplateModel.JsonTemplate, file, StoreyRestriction, ExaminationRestriction);

                //Aufrufen der nächsten Seite
                ComparisonPage comparisonPage = new ComparisonPage(Permission);
                this.Content = comparisonPage;
            }
        }