/*public object EditorDataContext
         *      {
         *              get { return (object)GetValue(EditorDataContextProperty); }
         *              set { SetValue(EditorDataContextProperty, value); }
         *      }*/
        #endregion

        public AjuroJsonEditorBusiness()
        {
            // InitializeComponent();
            MainViewModel            = WizardModel.Instance;
            WizardModel.DataJsonPath = "C:\\OTB\\templates\\profile.json";
            if (!File.Exists(WizardModel.DataJsonPath))
            {
                WizardModel.DataJsonPath = "Resources\\data.json";
            }


            if (File.Exists(WizardModel.DataJsonPath))
            {
                MainViewModel.SampleJson = File.ReadAllText(WizardModel.DataJsonPath);
                SampleJson = JObject.Parse(MainViewModel.SampleJson);
                MainViewModel.SampleTree = UniversalTreeNode.CreateTree(SampleJson);
                MainViewModel.SampleJson = JsonConvert.SerializeObject(SampleJson, Formatting.Indented);
            }

            if (!File.Exists("Resources\\meta2.json"))
            {
                var stream = File.Create("Resources\\meta2.json");
                stream.Close();
                File.WriteAllText("Resources\\meta2.json", "{}");
            }

            if (File.Exists("Resources\\meta2.json"))
            {
                MainViewModel.MetaJson = File.ReadAllText("Resources\\meta2.json");
                var metaJson = JObject.Parse(MainViewModel.MetaJson);
                MainViewModel.MetaJson = JsonConvert.SerializeObject(metaJson, Formatting.Indented);
            }
            var steps = Newtonsoft.Json.JsonConvert.DeserializeObject <WizardStep>(MainViewModel.MetaJson).Children;

            if (steps == null)
            {
                steps = new ObservableCollection <WizardStep>();
            }
            foreach (var step in steps)
            {
                WizardModel.Instance.WizardSteps.Add(step);
            }
            this.EditorDataContext = MainViewModel;
        }