public void schemadataCreate(Document doc)
        {
            TitleblockSettings settingsWindow = new TitleblockSettings(doc);

            bool SchemeExist = schemaAndStoreData.StorageExists(familySymbol);

            if (SchemeExist == false)
            {
                using (Transaction t = new Transaction(doc))
                {
                    t.Start("Settings");
                    schemaAndStoreData.CreateSchemeAndStoreData(familySymbol);

                    //TODO EXECUTE THIS TO GET ALIGN
                    titleblockName = tb.getSheetName();

                    t.Commit();
                }
            }
        }
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Application app = uiapp.Application;
            Document doc = uidoc.Document;
            TitleblockSettings settingsWindow = new TitleblockSettings(doc);
            //test family symbol
            tb.TitleblockFamilySymbolList(doc);
            tb.getTitleblockCurrentView(doc);
            settingsWindow.TitleblockComboBox.ItemsSource = tb.getTitleblockName();

            //Show window for Settings
            var res = settingsWindow.ShowDialog();

            string selectedTitleblock = settingsWindow.TitleblockComboBox.Text;
            familySymbol = tb.getFamilySymbol(selectedTitleblock);

            if (!(res.HasValue && res.Value)) return Result.Cancelled;

            schemadata(doc, selectedTitleblock);
            schemadataCreate(doc);

            if (settingsWindow.updateButton != null)
            {
                using (Transaction update = new Transaction(doc))
                {
                    cellSizeDistance_X = settingsWindow.cellSizeDistance_X_TextBox.Text;
                    lowerGap_X = settingsWindow.lowerGap_X_TextBox.Text;
                    additionalEdge_X = settingsWindow.additionalEdge_X_TextBox.Text;
                    fineTune_X = settingsWindow.fineTune_X_TextBox.Text;

                    cellSizeDistance_Y = settingsWindow.cellSizeDistance_Y_TextBox.Text;
                    lowerGap_Y = settingsWindow.lowerGap_Y_TextBox.Text;
                    additionalEdge_Y = settingsWindow.additionalEdge_Y_TextBox.Text;
                    fineTune_Y = settingsWindow.fineTune_Y_TextBox.Text;

                    //cellGrid = settingsWindow.cellGridComboBox.Text;

                    cellGrid_Length = settingsWindow.cellGridLengthBox.Text;
                    cellGrid_Height = settingsWindow.cellGridHeightBox.Text;

                    update.Start("update");
                    //set the schema
                    schemaAndStoreData.Set_titleblockName(titleblockName);

                    schemaAndStoreData.Set_cellSizeDistance_X(cellSizeDistance_X);
                    schemaAndStoreData.Set_lowerGap_X(lowerGap_X);
                    schemaAndStoreData.Set_additionalEdge_X(additionalEdge_X);
                    schemaAndStoreData.Set_fineTune_X(fineTune_X);

                    schemaAndStoreData.Set_cellSizeDistance_Y(cellSizeDistance_Y);
                    schemaAndStoreData.Set_lowerGap_Y(lowerGap_Y);
                    schemaAndStoreData.Set_additionalEdge_Y(additionalEdge_Y);
                    schemaAndStoreData.Set_fineTune_Y(fineTune_Y);

                    //schemaAndStoreData.Set_cellGrid(cellGrid);
                    schemaAndStoreData.Set_cellGrid_Length(cellGrid_Length);
                    schemaAndStoreData.Set_cellGrid_Height(cellGrid_Height);

                    //store the data to the schema
                    schemaAndStoreData.StoreData(familySymbol);
                    update.Commit();
                }
            }
            return Result.Succeeded;
        }
        public void schemadata(Document doc, string titleblock)
        {
            TitleblockSettings settingsWindow = new TitleblockSettings(doc);
            string selectedTitleblock = settingsWindow.TitleblockComboBox.Text;
            Titleblock tb = new Titleblock();
            tb.TitleblockFamilySymbolList(doc);
            FamilySymbol familySymbol = tb.getFamilySymbol(titleblock);

            bool SchemeExist = schemaAndStoreData.StorageExists(familySymbol);
            if (SchemeExist == true)
            {
                schemaAndStoreData.RetrieveData(familySymbol);

                titleblockName = schemaAndStoreData.Get_titleblockName();

                cellSizeDistance_X = schemaAndStoreData.Get_cellSizeDistance_X();
                lowerGap_X = schemaAndStoreData.Get_lowerGap_X();
                additionalEdge_X = schemaAndStoreData.Get_additionalEdge_X();
                fineTune_X = schemaAndStoreData.Get_fineTune_X();

                cellSizeDistance_Y = schemaAndStoreData.Get_cellSizeDistance_Y();
                lowerGap_Y = schemaAndStoreData.Get_lowerGap_Y();
                additionalEdge_Y = schemaAndStoreData.Get_additionalEdge_Y();
                fineTune_Y = schemaAndStoreData.Get_fineTune_Y();

                cellGrid_Length = schemaAndStoreData.Get_cellGrid_Length();
                cellGrid_Height = schemaAndStoreData.Get_cellGrid_Height();
            }
        }