public CloneQueryTableDefInfo(QueryTableDefInfo defInfo, UInt32 versCreate) { this.m_QueryTableInfo = new CloneTableDefInfo(defInfo.QueryTableInfo(), versCreate); this.m_QueryFields = defInfo.QueryFields().Select((qf) => (new CloneQueryFieldDefInfo(qf))).ToList(); this.m_strAliasName = defInfo.m_strAliasName; this.m_strName = defInfo.m_strName; }
public QueryTableDefInfo GetTargetInfo() { QueryTableDefInfo defInfo = new QueryTableDefInfo(this.m_strAliasName, this.m_QueryTableInfo.GetTargetInfo()); defInfo.SetQueryFieldsList(this.m_QueryFields.Select((qf) => (qf.GetTargetInfo())).ToList()); return(defInfo); }
public object Clone() { QueryTableDefInfo other = (QueryTableDefInfo)this.MemberwiseClone(); other.m_strName = this.m_strName; other.m_strAliasName = this.m_strAliasName; return(other); }
public QueryTableDefInfo AddColumn(NameInfo columnName) { QueryTableDefInfo other = (QueryTableDefInfo)this.MemberwiseClone(); other.m_QueryTableInfo = this.m_QueryTableInfo; other.m_strName = this.m_strName; other.m_strAliasName = this.m_strAliasName; TableFieldDefInfo tabColumn = other.m_QueryTableInfo.FieldByName(columnName.Name); QueryFieldDefInfo addColumn = new QueryFieldDefInfo(tabColumn, columnName.Alias, columnName.Function); other.m_QueryFields = this.m_QueryFields.Concat(new List <QueryFieldDefInfo>() { addColumn }).ToList(); return(other); }
public QueryTableDefInfo AddColumns(params NameInfo[] columnNames) { QueryTableDefInfo other = (QueryTableDefInfo)this.MemberwiseClone(); other.m_QueryTableInfo = this.m_QueryTableInfo; other.m_strName = this.m_strName; other.m_strAliasName = this.m_strAliasName; IList <QueryFieldDefInfo> listQueryFields = this.m_QueryFields.ToList(); foreach (var columnName in columnNames) { TableFieldDefInfo tabColumn = other.m_QueryTableInfo.FieldByName(columnName.Name); QueryFieldDefInfo addColumn = new QueryFieldDefInfo(tabColumn, columnName.Alias, columnName.Function); listQueryFields.Add(addColumn); } other.m_QueryFields = listQueryFields; return(other); }
public string QueryTableJoinConditions(QueryDefInfo queryInfo, bool bTbJoinConds, bool bFilterConds) { string strFieldNames = ""; QueryTableDefInfo rightTableInfo = queryInfo.QueryTableByAlias(m_strRightAliasName); if (m_bLeftCondition) { QueryTableDefInfo leftTableInfo = queryInfo.QueryTableByAlias(m_strLeftAliasName); strFieldNames += leftTableInfo.TableSourceName(); strFieldNames += " "; } strFieldNames += "INNER JOIN "; strFieldNames += rightTableInfo.TableSourceName(); strFieldNames += " ON "; strFieldNames += QueryFieldJoinConditions(bTbJoinConds, bFilterConds); return(strFieldNames); }
public void AddTable(QueryTableDefInfo tableAliasInfo) { this.m_QueryTableInfo.Add(tableAliasInfo); }
public QueryTableDefInfo QueryTableByAlias(string tableAlias) { QueryTableDefInfo queryTable = m_QueryTableInfo.Where((c) => (c.m_strAliasName.Equals(tableAlias))).SingleOrDefault(); return(queryTable); }