コード例 #1
0
        /// <summary>
        /// (TW)取得其它資訊內容
        /// </summary>
        /// <param name="tableInfoForLiquid"></param>
        /// <param name="columnsForLiquid"></param>
        /// <returns></returns>
        private OtherInfoForLiquid getOtherInfoForLiquid(TableInfoForLiquid tableInfoForLiquid, List <ColumnInfoForLiquid> columnsForLiquid)
        {
            var result         = new OtherInfoForLiquid();
            var identityColumn = columnsForLiquid.FirstOrDefault();//暫以第一筆表示

            if (identityColumn != null)
            {
                result.IndentityColumn            = identityColumn.MapColumnName;
                result.IndentityModelType         = identityColumn.ModelType;
                result.IndentityColumnDescription = identityColumn.ColumnDescription;
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// (TW)產生程式碼
        /// (EN)generate Source code
        /// </summary>
        /// <param name="tableInfoForLiquid"></param>
        /// <param name="columnsForLiquid"></param>
        /// <param name="contentRootPath"></param>
        /// <returns></returns>
        public dynamic Generate(TableInfoForLiquid tableInfoForLiquid, List <ColumnInfoForLiquid> columnsForLiquid, OtherInfoForLiquid otherInfoForLiquid, string contentRootPath)
        {
            var result     = "";
            var liquidPath = contentRootPath + LiquidPath;

            //(TW)使用Liquid的框架產生程式碼,傳入參數:table , columns
            var      templateContent = File.ReadAllText(liquidPath, Encoding.UTF8);
            Template template        = Template.Parse(templateContent);

            result = template.Render(Hash.FromAnonymousObject(
                                         new
            {
                table   = tableInfoForLiquid,
                columns = columnsForLiquid,
                other   = otherInfoForLiquid
            }));

            return(result);
        }