コード例 #1
0
ファイル: AddControlCommand.cs プロジェクト: yannduran/dotvvm
        private void CreateControl(string viewPath, bool createCodeBehind, DotvvmProjectMetadata dotvvmProjectMetadata)
        {
            var codeBehindPath           = PathHelpers.ChangeExtension(viewPath, "cs");
            var codeBehindClassName      = NamingHelpers.GetClassNameFromPath(viewPath);
            var codeBehindClassNamespace = NamingHelpers.GetNamespaceFromPath(viewPath, dotvvmProjectMetadata.ProjectDirectory, dotvvmProjectMetadata.RootNamespace);

            // create control
            var controlTemplate = new ControlTemplate()
            {
                CreateCodeBehind = createCodeBehind
            };

            if (createCodeBehind)
            {
                controlTemplate.CodeBehindClassName          = codeBehindClassName;
                controlTemplate.CodeBehindClassNamespace     = codeBehindClassNamespace;
                controlTemplate.CodeBehindClassRootNamespace = dotvvmProjectMetadata.RootNamespace;
            }
            FileSystemHelpers.WriteFile(viewPath, controlTemplate.TransformText());

            // create code behind
            if (createCodeBehind)
            {
                var codeBehindTemplate = new ControlCodeBehindTemplate()
                {
                    CodeBehindClassNamespace = codeBehindClassNamespace,
                    CodeBehindClassName      = codeBehindClassName
                };
                FileSystemHelpers.WriteFile(codeBehindPath, codeBehindTemplate.TransformText());
            }
        }