示例#1
0
        public void loopAgain()
        {
            ConsoleTitleUtil.ShowTestTitle( "loopAgain" );

            string looppage = @"
            <table>
            <!-- BEGIN newphotos -->
            <tr><td>#{Title}</td><td>#{CreateTime}</td></tr>
            <tr><td colspan=2><!-- BEGIN item --> #{Name} <!-- END item --></td></tr>
            <!-- END newphotos -->
            </table>
            ";
            //TReg.Init();

            Template t = new Template();
            t.InitContent( looppage );

            IBlock block = t.GetBlock( "newphotos" );
            for( int i=0;i<5;i++ ) {
                block.Set( "Title", "mytitle" + i );
                block.Set( "CreateTime", "190"+i );

                IBlock block2 = block.GetBlock( "item" );
                for( int k=0;k<5;k++ ) {
                    block2.Set( "Name", "nameis"+k);
                    block2.Next();
                }

                block.Next();
            }

            Console.WriteLine( t );
        }
示例#2
0
        public void loop()
        {
            ConsoleTitleUtil.ShowTestTitle( "loop" );

            string looppage = @"
            <table><!-- BEGIN newphotos -->
            <tr><td>#{Title}</td><td>#{CreateTime}</td></tr><!-- END newphotos -->
            </table>
            ";

            Template loopTemplate = new Template();
            loopTemplate.InitContent( looppage );

            // 给循环块设值
            IBlock loopBlock = loopTemplate.GetBlock( "newphotos" );
            for( int i=0;i<5;i++ ) {
                loopBlock.Set( "Title", "一百航的诗篇"+i );
                loopBlock.Set( "CreateTime", DateTime.Now.ToString() );
                loopBlock.Next();
            }

            Console.WriteLine( loopTemplate );
        }
        private void makeView_Action_List( string modelControllerDir, EntityInfo ei ) {
            Template template = new Template();
            template.InitContent( viewTemplate.GetListView() );
            template.Set( "m.Name", ei.Label );
            IBlock block = template.GetBlock( "header" );
            IBlock block2 = template.GetBlock( "row" );
            int columnCount = this.setPropertyList( block, ei, true );
            this.setPropertyList( block2, ei, false );
            template.Set( "loopBegin", "<!-- BEGIN list -->" );
            template.Set( "loopEnd", "<!-- END list -->" );
            template.Set( "columnCount", columnCount );

            wojilu.IO.File.Write( Path.Combine( modelControllerDir, "List.html" ), template.ToString() );
        }
 private string getUpdateCode( EntityInfo ei ) {
     Template t = new Template();
     t.InitContent( controllerTemplate.GetUpdateAction() );
     this.populateTemplate( ei, t );
     return t.ToString();
 }
 private string getListCode( EntityInfo ei ) {
     Template template = new Template();
     template.InitContent( controllerTemplate.GetListAction() );
     template.Set( "model.Name", ei.Name );
     template.Set( "model.LName", strUtil.GetCamelCase( ei.Name ) );
     return template.ToString();
 }
        private string getEditCode( EntityInfo ei ) {
            Template template = new Template();
            template.InitContent( controllerTemplate.GetEditAction() );
            template.Set( "m.Name", ei.Name );

            String eiName = strUtil.GetCamelCase( ei.Name );
            template.Set( "domainCamelName", eiName );

            String entityProperty = "";
            IBlock block = template.GetBlock( "editor" );
            foreach (EntityPropertyInfo ep in ei.SavedPropertyList) {
                if (ep.IsLongText) {
                    block.Set( "Name", "x." + ep.Name );
                    block.Set( "PName", ep.Name );
                    block.Next();
                }
                else if (ep.IsEntity) {
                    String epName = getEntityNameSimple( ep );
                    if (epName != null) {
                        entityProperty += string.Format( tab3 + "dropList( \"x.{0}\", {1}.findAll(), \"{2}=Id\", data.{3}.Id );" + Environment.NewLine, ep.Name, ep.EntityInfo.Name, epName, ep.Name );
                    }
                }
            }
            template.Set( "entityProperty", entityProperty );
            return template.ToString();
        }
 private string getDeleteCode( EntityInfo ei ) {
     Template template = new Template();
     template.InitContent( controllerTemplate.GetDeleteAction() );
     template.Set( "m.Name", ei.Name );
     return template.ToString();
 }
 private string getCreateCode( EntityInfo ei ) {
     Template t = new Template();
     t.InitContent( CrudActionTemplate.GetCreateAction() );
     this.populateTemplate( ei, t );
     return t.ToString();
 }
        private void makeLayoutView() {
            Template template = new Template();
            template.InitContent( viewTemplate.GetLayoutView() );

            IBlock block = template.GetBlock( "list" );
            foreach (KeyValuePair<String, EntityInfo> kv in MappingClass.Instance.ClassList) {

                EntityInfo ei = kv.Value as EntityInfo;
                String lmName = strUtil.GetCamelCase( ei.Name );

                block.Set( "m.Name", ei.Label );
                block.Set( "m.LName", lmName );
                block.Set( "m.AdminLink", "#{" + lmName + ".AdminLink}" );
                block.Next();
            }

            String path = Path.Combine( this.viewPath, "Layout" );
            if (!Directory.Exists( path )) Directory.CreateDirectory( path );

            wojilu.IO.File.Write( Path.Combine( path, "Layout.html" ), template.ToString() );
        }
示例#10
0
        public void single()
        {
            ConsoleTitleUtil.ShowTestTitle( "single" );

            string a = @"
            <h4>
            #{Title}</h4>
            <b>#{CreateTime}</b><br />
            ";
            SpeedUtil.Start();

            Template t = new Template();
            t.InitContent( a );

            t.Set( "Title", "一百航的诗篇" );
            t.Set( "CreateTime", "今年的时间 " + DateTime.Now );

            Console.WriteLine( t );
            SpeedUtil.Stop();
        }
示例#11
0
        public void single()
        {
            ConsoleTitleUtil.ShowTestTitle( "single" );

            string a = @"
            <h4>
            {#Title#}</h4>
            <b>{#CreateTime#}</b><br />
            ";
            SpeedUtil.Start();

            Template t = new Template();
            t.InitContent( a );

            t.Set( "Title", "һ�ٺ���ʫƪ" );
            t.Set( "CreateTime", "�����ʱ�� " + DateTime.Now );

            Console.WriteLine( t );
            SpeedUtil.Stop();
        }
        private void makeOneController( EntityInfo ei ) {

            String[] arrTypeItem = ei.FullName.Split( '.' );

            String domainNamespace = strUtil.TrimEnd( ei.FullName, "." + arrTypeItem[arrTypeItem.Length - 1] );

            string codeList = this.getListCode( ei );
            string codeAdd = this.getAddCode( ei );
            string codeCreate = this.getCreateCode( ei );
            string codeEdit = this.getEditCode( ei );
            string codeUpdate = this.getUpdateCode( ei );
            string codeDel = this.getDeleteCode( ei );

            Template template = new Template();
            template.InitContent( CrudActionTemplate.GetController() );

            template.Set( "domainNamespace", domainNamespace );
            template.Set( "namespace", this.namespaceName );
            template.Set( "controllerName", ei.Name );

            template.Set( "domainCamelName", strUtil.GetCamelCase( ei.Name ) );

            IBlock setList = template.GetBlock( "setList" );
            foreach (EntityPropertyInfo ep in ei.SavedPropertyList) {

                setList.Set( "propertyName", ep.Name );

                if (ep.IsLongText) {

                    if (rft.GetAttribute( ep.Property, typeof( HtmlTextAttribute ) ) == null) {
                        setList.Set( "propertyValue", "strUtil.CutString( data." + ep.Name + ", 30 )" );
                    }
                    else {
                        setList.Set( "propertyValue", "strUtil.ParseHtml( data." + ep.Name + ", 50 )" );
                    }
                }
                else if (ep.IsEntity) {

                    String entityName = getEntityName( ep );
                    setList.Set( "propertyValue", "data." + entityName );
                }
                else {
                    setList.Set( "propertyValue", "data." + ep.Name );
                }

                setList.Next();
            }

            template.Set( "listCode", codeList );
            template.Set( "addCode", codeAdd );
            template.Set( "createCode", codeCreate );
            template.Set( "editCode", codeEdit );
            template.Set( "updateCode", codeUpdate );
            template.Set( "deleteCode", codeDel );

            wojilu.IO.File.Write( Path.Combine( this.controllerPath, string.Format( "{0}Controller.cs", ei.Name ) ), template.ToString() );
        }
        //----------------------------------------layout--------------------------------------------------------------------------------------------------


        private void makeLayoutController() {
            Template template = new Template();
            template.InitContent( LayoutTemplate.GetAdminLayoutAction() );

            IBlock block = template.GetBlock( "list" );
            foreach (DictionaryEntry entry in MappingClass.Instance.ClassList) {

                EntityInfo ei = entry.Value as EntityInfo;
                String lmName = strUtil.GetCamelCase( ei.Name );

                block.Set( "mName", ei.Name );
                block.Set( "lmName", lmName );
                block.Next();
            }

            wojilu.IO.File.Write( Path.Combine( this.controllerPath, "LayoutController.cs" ), template.ToString() );
        }
        private string getEditPage( EntityInfo ei, bool isEdit ) {

            Template template = new Template();
            template.InitContent( CrudViewTemplate.GetAddView() );
            template.Set( "mName", ei.Label );

            IBlock block = template.GetBlock( "list" );
            foreach (EntityPropertyInfo info in ei.SavedPropertyList) {
                if (!info.Name.Equals( "Id" )) {
                    block.Set( "m.Label", info.Label );
                    block.Set( "m.InputBox", this.getInputBox( info, isEdit ) );
                    block.Next();
                }
            }
            return template.ToString();
        }
        private string getEditPage( EntityInfo ei, bool isEdit ) {

            Template template = new Template();
            template.InitContent( viewTemplate.GetAddView() );
            template.Set( "mName", ei.Label );

            IBlock block = template.GetBlock( "list" );
            foreach (EntityPropertyInfo info in ei.SavedPropertyList) {
                string rule = "";
                string msg = "";
                string valid = "";
                string tip = "";

                if (!info.Name.Equals( "Id" )) {
                    block.Set( "m.Label", info.Label );
                    block.Set( "m.InputBox", this.getInputBox( info, isEdit, ref valid, ref rule, ref msg, ref tip ).ToString().Replace( "name=", tip + " name=" ) + this.setValid( valid, msg, rule ) );
                    block.Next();
                }
            }
            return template.ToString();
        }
        //---------------------------layout------------------------------------------------


        private void makeLayoutController() {
            Template template = new Template();
            template.InitContent( controllerTemplate.GetLayoutController() );

            IBlock block = template.GetBlock( "list" );
            foreach (KeyValuePair<String, EntityInfo> kv in MappingClass.Instance.ClassList) {

                EntityInfo ei = kv.Value;
                String lmName = strUtil.GetCamelCase( ei.Name );

                block.Set( "mName", ei.Name );
                block.Set( "lmName", lmName );
                block.Next();
            }

            wojilu.IO.File.Write( Path.Combine( this.controllerPath, "LayoutController.cs" ), template.ToString() );
        }
示例#17
0
        public void loopThird()
        {
            ConsoleTitleUtil.ShowTestTitle( "loopThird" );

            string looppage = @"
            <table>
            <!-- BEGIN newphotos -->
            <tr><td>#{Title}</td><td>#{CreateTime}</td></tr>
            <tr><td colspan=2><!-- BEGIN item --> #{Name}
            <!-- BEGIN suitem -->
            #{SubName}<br/><!-- END suitem -->
            <!-- END item --></td></tr>
            <!-- END newphotos -->
            </table>
            ";

            Template t = new Template();
            t.InitContent( looppage );

            IBlock block = t.GetBlock( "newphotos" );
            for( int i=0;i<3;i++ ) {
                block.Set( "Title", "mytitle" + i );
                block.Set( "CreateTime", "190"+i );

                IBlock block2 = block.GetBlock( "item" );
                for( int k=0;k<3;k++ ) {
                    block2.Set( "Name", "nameis"+k);
                    IBlock subblock = block2.GetBlock( "suitem" );
                    for( int j=0;j<3;j++ ) {
                        subblock.Set( "SubName", "xxsub"+j );
                        subblock.Next();
                    }

                    block2.Next();
                }

                block.Next();
            }

            Console.WriteLine( t );
        }
        private void makeOneController( EntityInfo ei ) {

            String[] arrTypeItem = ei.FullName.Split( '.' );

            String domainNamespace = strUtil.TrimEnd( ei.FullName, "." + arrTypeItem[arrTypeItem.Length - 1] );

            string codeList = this.getListCode( ei );
            string codeAdd = this.getAddCode( ei );
            string codeCreate = this.getCreateCode( ei );
            string codeEdit = this.getEditCode( ei );
            string codeUpdate = this.getUpdateCode( ei );
            string codeDel = this.getDeleteCode( ei );

            Template template = new Template();
            template.InitContent( controllerTemplate.GetController() );

            template.Set( "domainNamespace", domainNamespace );
            template.Set( "namespace", this.namespaceName );
            template.Set( "controllerName", ei.Name );

            template.Set( "domainCamelName", strUtil.GetCamelCase( ei.Name ) );


            template.Set( "listCode", codeList );
            template.Set( "addCode", codeAdd );
            template.Set( "createCode", codeCreate );
            template.Set( "editCode", codeEdit );
            template.Set( "updateCode", codeUpdate );
            template.Set( "deleteCode", codeDel );

            wojilu.IO.File.Write( Path.Combine( this.controllerPath, string.Format( "{0}Controller.cs", ei.Name ) ), template.ToString() );
        }
        private string getAddCode( EntityInfo ei ) {
            Template template = new Template();
            template.InitContent( CrudActionTemplate.GetAddAction() );
            IBlock block = template.GetBlock( "editor" );
            String eiName = strUtil.GetCamelCase( ei.Name );

            String entityProperty = "";
            foreach (EntityPropertyInfo ep in ei.SavedPropertyList) {
                if (ep.IsLongText) {
                    block.Set( "Name", eiName + "." + ep.Name );
                    block.Next();
                }

                else if (ep.IsEntity) {
                    String epName = getEntityNameSimple( ep );
                    if (epName != null) {
                        entityProperty += string.Format( tab3 + "dropList( \"{0}.{1}\", {2}.findAll(), \"{3}=Id\", null );" + Environment.NewLine, eiName, ep.Name, ep.EntityInfo.Name, epName );
                    }
                }
            }
            template.Set( "entityProperty", entityProperty );

            return template.ToString();
        }