Esempio n. 1
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            SlackForm slackForm = new SlackForm();

            slackForm.ShowDialog();

            if (slackForm.DialogResult == DialogResult.OK)
            {
                Document doc = commandData.Application.ActiveUIDocument.Document;
                Autodesk.Revit.ApplicationServices.Application app = doc.Application;

                if (doc.IsFamilyDocument)
                {
                    TaskDialog.Show("Exception", "These settings can only be saved while in a Revit project, not in a Family.");
                }

                SlackSettings s = new SlackSettings();
                s.slackCh = Variables.slackCh;
                s.slackChId = Variables.slackChId;
                s.slackOn = Variables.slackOn;
                s.slackToken = Variables.slackToken;

                SharedParam.SetParameter(app, doc, Variables.defNameSettings, JsonConvert.SerializeObject(s).ToString());

            }
            return Result.Succeeded;
        }
Esempio n. 2
0
        public static void Set(Application app, Document doc, string name, SlackSettings s)
        {
            ExtensibleStorageFilter f
                = new ExtensibleStorageFilter(
                      ExtensibleStorage.SettingsSchema.SchemaGuid);

            DataStorage dataStorage
                = new FilteredElementCollector(doc)
                  .OfClass(typeof(DataStorage))
                  .WherePasses(f)
                  .Where <Element>(e => name.Equals(e.Name))
                  .FirstOrDefault <Element>() as DataStorage;

            Entity entity;

            if (dataStorage == null)
            {
                using (Transaction t = new Transaction(doc, "Create settings schema"))
                {
                    t.Start();

                    dataStorage      = DataStorage.Create(doc);
                    dataStorage.Name = name;

                    entity = new Entity(ExtensibleStorage.SettingsSchema.InitializeSchema());
                    dataStorage.SetEntity(entity);

                    t.Commit();
                }
            }

            Transaction updateSettings = new Transaction(doc, "Update settings");

            updateSettings.Start();
            entity = dataStorage.GetEntity(ExtensibleStorage.SettingsSchema.InitializeSchema());

            entity.Set("slackOn", s.slackOn);
            entity.Set("slackWSWarn", s.slackWSWarn);
            entity.Set("slackModelWarn", s.slackModelWarn);
            entity.Set("slackBPWarn", s.slackBPWarn);
            entity.Set("slackWSInfo", s.slackWSInfo);
            entity.Set("slackModelInfo", s.slackModelInfo);
            entity.Set("slackBPInfo", s.slackBPInfo);
            entity.Set("slackExtraTrackPin", s.slackExtraTrackPin);
            entity.Set("giphySet", s.giphySet);
            entity.Set("tidySet", s.tidySet);
            entity.Set("slackToken", s.slackToken);
            entity.Set("slackCh", s.slackCh);
            entity.Set("slackChId", s.slackChId);

            dataStorage.SetEntity(entity);
            updateSettings.Commit();
        }
Esempio n. 3
0
        public static void Set(Application app, Document doc, string name, SlackSettings s)
        {
            ExtensibleStorageFilter f
                = new ExtensibleStorageFilter(
                    ExtensibleStorage.SettingsSchema.SchemaGuid);

            DataStorage dataStorage
                = new FilteredElementCollector(doc)
                .OfClass(typeof(DataStorage))
                .WherePasses(f)
                .Where<Element>(e => name.Equals(e.Name))
                .FirstOrDefault<Element>() as DataStorage;

            Entity entity;
            if (dataStorage == null)
            {
                using (Transaction t = new Transaction(doc, "Create settings schema"))
                {
                    t.Start();

                    dataStorage = DataStorage.Create(doc);
                    dataStorage.Name = name;

                    entity = new Entity(ExtensibleStorage.SettingsSchema.InitializeSchema());
                    dataStorage.SetEntity(entity);

                    t.Commit();
                }
            }

            Transaction updateSettings = new Transaction(doc, "Update settings");
            updateSettings.Start();
            entity = dataStorage.GetEntity(ExtensibleStorage.SettingsSchema.InitializeSchema());

            entity.Set("slackOn", s.slackOn);
            entity.Set("slackWSWarn", s.slackWSWarn);
            entity.Set("slackModelWarn", s.slackModelWarn);
            entity.Set("slackBPWarn", s.slackBPWarn);
            entity.Set("slackWSInfo", s.slackWSInfo);
            entity.Set("slackModelInfo", s.slackModelInfo);
            entity.Set("slackBPInfo", s.slackBPInfo);
            entity.Set("slackExtraTrackPin", s.slackExtraTrackPin);
            entity.Set("giphySet", s.giphySet);
            entity.Set("tidySet", s.tidySet);
            entity.Set("slackToken", s.slackToken);
            entity.Set("slackCh", s.slackCh);
            entity.Set("slackChId", s.slackChId);

            dataStorage.SetEntity(entity);
            updateSettings.Commit();
        }
Esempio n. 4
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            Document doc = commandData.Application.ActiveUIDocument.Document;

            ParameterCommands.Load(doc);
            SlackForm slackForm = new SlackForm();

            slackForm.ShowDialog();

            if (slackForm.DialogResult == DialogResult.OK)
            {
                Autodesk.Revit.ApplicationServices.Application app = doc.Application;

                if (doc.IsFamilyDocument)
                {
                    TaskDialog.Show("Exception", "These settings can only be saved while in a Revit project, not in a Family.");
                }

                SlackSettings s = new SlackSettings();
                s.slackCh            = Variables.slackCh;
                s.slackChId          = Variables.slackChId;
                s.slackOn            = Variables.slackOn;
                s.slackWSWarn        = Variables.slackWSWarn;
                s.slackModelWarn     = Variables.slackModelWarn;
                s.slackBPWarn        = Variables.slackBPWarn;
                s.slackWSInfo        = Variables.slackWSInfo;
                s.slackModelInfo     = Variables.slackModelInfo;
                s.slackBPInfo        = Variables.slackBPInfo;
                s.slackExtraTrackPin = Variables.slackExtraTrackPin;
                s.tidySet            = Variables.tidySet;
                s.giphySet           = Variables.giphySet;
                s.slackToken         = Variables.slackToken;

                ParameterCommands.Set(app, doc, Variables.defNameSettings, s);
            }
            return(Result.Succeeded);
        }