public void OnGenerateCode(VDView view, string viewPath)
        {
            List <VDView> rootWidgets = new List <VDView>();

            rootWidgets.Add(view);
            rootWidgets.AddRange(view.GetChildren <VDView>());

            //IWidgetTreeWalkerFactory walkerFactory = new LayoutWalkerFactory();
            IWidgetTreeWalkerFactory walkerFactory    = new WidgetTreeWalkerFactory();
            ICodeGeneratorFactory    generatorFactory = new RazorCodeGeneratorFactory();

            foreach (VDView v in rootWidgets)
            {
                string filePath = SettingsHelper.getViewPathFromView(v, viewPath);
                filePath = System.IO.Path.Combine(filePath, v.WidgetName + ".cshtml");
                string razorCode = generatorFactory.GetCodeGenerator(v).GenerateCode(generatorFactory, walkerFactory);
                using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
                {
                    w.Write(razorCode);
                }
            }
        }
        public void OnGenerateCode(VDView view, string viewPath)
        {
            List<VDView> rootWidgets = new List<VDView>();
            rootWidgets.Add(view);
            rootWidgets.AddRange(view.GetChildren<VDView>());

            //IWidgetTreeWalkerFactory walkerFactory = new LayoutWalkerFactory();
            IWidgetTreeWalkerFactory walkerFactory = new WidgetTreeWalkerFactory();
            ICodeGeneratorFactory generatorFactory = new RazorCodeGeneratorFactory();
            foreach(VDView v in rootWidgets)
            {
                string filePath = SettingsHelper.getViewPathFromView(v, viewPath);
                filePath = System.IO.Path.Combine(filePath, v.WidgetName + ".cshtml");
                string razorCode = generatorFactory.GetCodeGenerator(v).GenerateCode(generatorFactory, walkerFactory);
                using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
                {
                    w.Write(razorCode);
                }
            }
        }