コード例 #1
0
 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;
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        public object Clone()
        {
            QueryTableDefInfo other = (QueryTableDefInfo)this.MemberwiseClone();

            other.m_strName      = this.m_strName;
            other.m_strAliasName = this.m_strAliasName;

            return(other);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
 public void AddTable(QueryTableDefInfo tableAliasInfo)
 {
     this.m_QueryTableInfo.Add(tableAliasInfo);
 }
コード例 #8
0
        public QueryTableDefInfo QueryTableByAlias(string tableAlias)
        {
            QueryTableDefInfo queryTable = m_QueryTableInfo.Where((c) => (c.m_strAliasName.Equals(tableAlias))).SingleOrDefault();

            return(queryTable);
        }