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; }
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; }