public static BuildBPColumn Create(BPColumn col)
 {
     BuildBPColumn bc = null;
     if (col.DataType == DataTypeEnum.CommonType)
     {
         bc = new BuildBPCommon(col);
     }
     else if (col.DataType == DataTypeEnum.RefreceType)
     {
         bc = new BuildBPRefrence(col);
     }
     else if (col.DataType == DataTypeEnum.CompositionType)
     {
         bc = new BuildBPComposition(col);
     }
     return bc;
 }
        public string BuildCode()
        {
            string buildCode = BPCodeTemplate.ProxyClassBeginTemplate.Replace(Attributes.Class, _entity.Code);
            buildCode = buildCode.Replace(Attributes.NameSpace, _namespace);
            buildCode = buildCode.Replace(Attributes.Guid, _entity.Guid);
            //生成属性信息
            foreach (BPColumn col in this._entity.ColumnList)
            {
                IBuild b = null;
                if (col.DataType == DataTypeEnum.CommonType)
                {
                    b = new BuildBPCommon(col);
                }
                else if (col.DataType == DataTypeEnum.RefreceType)
                {
                    b = new BuildBPRefrence(col);
                }
                else if (col.DataType == DataTypeEnum.CompositionType)
                {
                    b = new BuildBPComposition(col);
                }
                buildCode += b.BuildCode();
            }
            //生成构造函数
            buildCode += BPCodeTemplate.ProxyConstructorTemplate.Replace(Attributes.Class, _entity.Code).Replace(Attributes.NameSpace, _bpNamespace).Replace(Attributes.Guid, _entity.Guid);

            //生成do方法
            if (_entity.IsList)
            {
                buildCode += BPCodeTemplate.ProxyDoListBeginTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
            }
            else
            {
                buildCode += BPCodeTemplate.ProxyDoCommonBeginTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
            }
            //生成属性信息
            foreach (BPColumn col in this._entity.ColumnList)
            {
                string attr = BPCodeTemplate.ProxyInitParamListTemplate.Replace(Attributes.Code, col.Code);
                buildCode += attr;
            }

            if (_entity.IsList)
            {
                buildCode += BPCodeTemplate.ProxyDoListTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
                buildCode += BPCodeTemplate.ProxyDoListEndTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
            }
            else
            {
                buildCode += BPCodeTemplate.ProxyDoCommonTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
                buildCode += BPCodeTemplate.ProxyDoCommonEndTemplate.Replace(Attributes.Return, _entity.ReturnProxyName);
            }

            //生成SetValue覆盖方法
            if (_entity.ColumnList.Count > 0)
            {
                buildCode += BPCodeTemplate.BPSetValueBeginTemplate;
                foreach (BPColumn col in this._entity.ColumnList)
                {
                    if (col.DataType == DataTypeEnum.CompositionType)
                    {
                        buildCode += BPCodeTemplate.BPSetListValueTemplate.Replace(Attributes.Code, col.Code).Replace(Attributes.TypeString, col.TypeString);
                    }
                    else
                    {
                        buildCode += BPCodeTemplate.BPSetCommonValueTemplate.Replace(Attributes.Code, col.Code).Replace(Attributes.IsNull, col.IsNull ? "?" : "").Replace(Attributes.TypeString, col.TypeString);
                    }
                }
                buildCode += BPCodeTemplate.BPSetValueEndTemplate;
            }
            buildCode += BPCodeTemplate.ProxyClassEndTemplate;

            return buildCode;
        }
Esempio n. 3
0
 public string BuildMetaData()
 {
     string sql = string.Empty;
     sql += "DELETE FROM T_METADATA_BP_COMPONENT WHERE F_GUID='" + this._entity.Guid + "'" + Environment.NewLine;
     sql += "INSERT INTO T_METADATA_BP_COMPONENT VALUES((SELECT ISNULL(MAX(F_ID),0)+1 FROM T_METADATA_BP_COMPONENT),0,'" + this._entity.Guid + "','" + this._entity.Code + "','" + this._entity.Name + "','" + this._entity.Proj.Namespace + "." + this._entity.Code + "','" + this._entity.Proj.Namespace + ".dll" + "','" + this._entity.Proj.Guid + "'," + (this._entity.IsAuth ? "1" : "0") + ",'" + this._entity.FloderGuid + "',0)" + Environment.NewLine;
     sql += "DELETE FROM T_METADATA_BP_COLUMN_COMPONENT WHERE F_BPGUID='" + this._entity.Guid + "'" + Environment.NewLine;
     foreach (BPColumn col in this._entity.ColumnList)
     {
         Build.BPBuild.BuildBPCommon columnBuilder = new BuildBPCommon(col);
         sql += columnBuilder.BuildMetaData();
     }
     return sql;
 }