Exemple #1
0
        protected QSqlSelectMaker       CreateLastSelect(int TagLevel, QField field, QField exField, bool bFinalStep)
        {
            QSqlSelectMaker retVal = null;

            string strTag    = TagLevel.ToString();
            string strParent = TagLevel == 1?"NULL":(TagLevel - 1).ToString();

            retVal = new QSqlSelectMaker(strTag, strParent, this.OwnerObject.OwnerTable, this.TimeOffset, this.Language);

            AddLastFieldToSelect(retVal, field, exField, bFinalStep);

            // Add Filter [4/20/2004]
            //if(bFinalStep)
            {
                foreach (FilterCondition filter in this.Filters)
                {
                    retVal.AddFilter(filter);
                }
            }

            // Where Extension Addon [4/30/2004]
            if (this.OwnerObject.GetWhereExtensions() != null)
            {
                foreach (FilterCondition exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]

            return(retVal);
        }
Exemple #2
0
        protected QSqlSelectMaker       CreateGroupSelect(QField group)
        {
            QSqlSelectMaker retVal = null;

            // Create Root [4/21/2004]
            string GroupOwnerTable = group.Relations == null?this.OwnerObject.OwnerTable:group.Relations[group.Relations.Length - 1].DestTable;

            string strTag    = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel == 1?"NULL":(CurrentStepTagLevel - 1).ToString();

            retVal = new QSqlSelectMaker(strTag, strParent, GroupOwnerTable, this.TimeOffset, this.Language, group.Relations == null);

            AddFieldToSelect(retVal);

            // Where Extension Addon [4/30/2004]
            if (this.OwnerObject.GetWhereExtensions() != null && GroupOwnerTable == this.OwnerObject.OwnerTable)
            {
                foreach (FilterCondition exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]

//			foreach(FilterCondition filter in this.Filters)
//			{
//				if(group==filter.OwnerField)
//					retVal.AddFilter(filter);
//			}

            return(retVal);
        }
Exemple #3
0
        protected QSqlSelectMaker       CreateKeySelect()
        {
            QSqlSelectMaker retVal = null;

            string strTag    = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel == 1?"NULL":(CurrentStepTagLevel - 1).ToString();

            retVal = new QSqlSelectMaker(strTag, strParent, this.OwnerObject.OwnerTable, this.TimeOffset, this.Language);

            AddItemKeyToSelect(retVal);

            // Add Filter [4/20/2004]
            foreach (FilterCondition filter in this.Filters)
            {
                retVal.AddFilter(filter);
            }

            // Where Extension Addon [4/30/2004]
            if (this.OwnerObject.GetWhereExtensions() != null)
            {
                foreach (FilterCondition exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]


            return(retVal);
        }
Exemple #4
0
        protected QSqlSelectMaker       CreateRootSelect()
        {
            //Create Repoort Root
            QSqlSelectMaker retVal = null;

            // Create Root [4/21/2004]
            string strTag    = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel == 1?"NULL":(CurrentStepTagLevel - 1).ToString();

            retVal = new QSqlSelectMaker(strTag, strParent, null, this.TimeOffset, this.Language);

            AddFieldToSelect(retVal);

            return(retVal);
        }
Exemple #5
0
        protected void AddItemKeyToSelect(QSqlSelectMaker select)
        {
            bool bShowAlias = false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.Name, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), false, null));
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                QField keyField = this.OwnerObject.KeyField;
                if (_KeyUniquePrefix != null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                                          "'" + _KeyUniquePrefix + "' + CONVERT(NVARCHAR(3000),{0}.[" + this.OwnerObject.KeyField.DBName + "],20)",
                                          this.OwnerObject.KeyField.DataType, this.OwnerObject.KeyField.UsingType, true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField, false, null));
            }

            // [FieldName!Tag!Id] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [Field!Tag!Name] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [Field!Tag!Description] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [FieldName!Tag!Type] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [FieldName!Tag!DataType] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));

            // New Addon [4/22/2004]
            // [Values!Tag!Value] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // End New Addon [4/22/2004]
        }
Exemple #6
0
        protected QSqlSelectMaker       CreateGroupsSelect(QField group)
        {
            QSqlSelectMaker retVal = null;

            // Create Root [4/21/2004]
            string GroupOwnerTable = group.Relations == null?this.OwnerObject.OwnerTable:group.Relations[group.Relations.Length - 1].DestTable;

            string strTag    = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel == 1?"NULL":(CurrentStepTagLevel - 1).ToString();

            retVal = new QSqlSelectMaker(strTag, strParent, GroupOwnerTable, this.TimeOffset, this.Language);

            AddFieldToSelect(retVal);

            return(retVal);
        }
Exemple #7
0
        protected QSqlSelectMaker CreateRootSelect()
        {
            //Create Repoort Root
            QSqlSelectMaker	retVal	=	null;

            // Create Root [4/21/2004]
            string strTag = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel==1?"NULL":(CurrentStepTagLevel-1).ToString();

            retVal	=	new QSqlSelectMaker(strTag, strParent, null,this.TimeOffset,this.Language);

            AddFieldToSelect(retVal);

            return retVal;
        }
Exemple #8
0
        protected QSqlSelectMaker CreateLastSelect(int TagLevel, QField field, QField exField, bool bFinalStep)
        {
            QSqlSelectMaker	retVal	=	null;

            string strTag = TagLevel.ToString();
            string strParent = TagLevel==1?"NULL":(TagLevel-1).ToString();

            retVal	=	new QSqlSelectMaker(strTag, strParent, this.OwnerObject.OwnerTable,this.TimeOffset,this.Language);

            AddLastFieldToSelect(retVal,field,exField,bFinalStep);

            // Add Filter [4/20/2004]
            //if(bFinalStep)
            {
                foreach(FilterCondition filter in this.Filters)
                {
                    retVal.AddFilter(filter);
                }
            }

            // Where Extension Addon [4/30/2004]
            if(this.OwnerObject.GetWhereExtensions()!=null)
            {
                foreach(FilterCondition	exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]

            return retVal;
        }
Exemple #9
0
        protected QSqlSelectMaker CreateKeySelect()
        {
            QSqlSelectMaker	retVal	=	null;

            string strTag = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel==1?"NULL":(CurrentStepTagLevel-1).ToString();

            retVal	=	new QSqlSelectMaker(strTag, strParent, this.OwnerObject.OwnerTable,this.TimeOffset,this.Language);

            AddItemKeyToSelect(retVal);

            // Add Filter [4/20/2004]
            foreach(FilterCondition filter in this.Filters)
            {
                retVal.AddFilter(filter);
            }

            // Where Extension Addon [4/30/2004]
            if(this.OwnerObject.GetWhereExtensions()!=null)
            {
                foreach(FilterCondition	exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]

            return retVal;
        }
Exemple #10
0
        protected QSqlSelectMaker CreateGroupsSelect(QField	group)
        {
            QSqlSelectMaker	retVal	=	null;

            // Create Root [4/21/2004]
            string GroupOwnerTable = group.Relations==null?this.OwnerObject.OwnerTable:group.Relations[group.Relations.Length-1].DestTable;

            string strTag = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel==1?"NULL":(CurrentStepTagLevel-1).ToString();

            retVal	=	new QSqlSelectMaker(strTag, strParent, GroupOwnerTable,this.TimeOffset,this.Language);

            AddFieldToSelect(retVal);

            return retVal;
        }
Exemple #11
0
        protected QSqlSelectMaker CreateGroupSelect(QField	group)
        {
            QSqlSelectMaker	retVal	=	null;

            // Create Root [4/21/2004]
            string GroupOwnerTable = group.Relations==null?this.OwnerObject.OwnerTable:group.Relations[group.Relations.Length-1].DestTable;

            string strTag = CurrentStepTagLevel.ToString();
            string strParent = CurrentStepTagLevel==1?"NULL":(CurrentStepTagLevel-1).ToString();

            retVal	=	new QSqlSelectMaker(strTag, strParent, GroupOwnerTable,this.TimeOffset,this.Language,group.Relations==null);

            AddFieldToSelect(retVal);

            // Where Extension Addon [4/30/2004]
            if(this.OwnerObject.GetWhereExtensions()!=null && GroupOwnerTable==this.OwnerObject.OwnerTable)
            {
                foreach(FilterCondition	exFilter in this.OwnerObject.GetWhereExtensions())
                {
                    retVal.AddFilter(exFilter);
                }
            }
            // end [4/30/2004]

            //			foreach(FilterCondition filter in this.Filters)
            //			{
            //				if(group==filter.OwnerField)
            //					retVal.AddFilter(filter);
            //			}

            return retVal;
        }
Exemple #12
0
        protected void AddLastFieldToSelect(QSqlSelectMaker	select, QField availableField, QField exField,bool bFinalStep)
        {
            bool bShowAlias	=	false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.FriendlyName,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),false,null));
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                QField	keyField = this.OwnerObject.KeyField;
                if(_KeyUniquePrefix!=null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                        "'" + _KeyUniquePrefix+ "' + CONVERT(NVARCHAR(3000),{0}.["+this.OwnerObject.KeyField.DBName+"],20)",
                        this.OwnerObject.KeyField.DataType,this.OwnerObject.KeyField.UsingType,true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField,false,null));
            }

            if(bFinalStep)
            {
                // [FieldName!Tag!Id] [4/22/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations==null?"1":(availableField.Relations.Length==1?"2":"3") ),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()),false,null));
                if(exField!=null)
                    select.AddField(new QSqlSelectFieldMaker(exField,false,null));
                else
                    select.AddField(new QSqlSelectFieldMaker(availableField,false,null));
            }
            else
            {
                // Add Fields [4/20/2004]
                //foreach(QField availableFields in this.Fields)
                //{
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations==null?"1":(availableField.Relations.Length==1?"2":"3") ),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()),false,null));
                select.AddField(new QSqlSelectFieldMaker(null,true,null));
                //}
            }
        }
Exemple #13
0
        protected void AddItemKeyToSelect(QSqlSelectMaker	select)
        {
            bool bShowAlias	=	false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.Name,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),false,null));
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                QField	keyField = this.OwnerObject.KeyField;
                if(_KeyUniquePrefix!=null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                        "'" + _KeyUniquePrefix+ "' + CONVERT(NVARCHAR(3000),{0}.["+this.OwnerObject.KeyField.DBName+"],20)",
                        this.OwnerObject.KeyField.DataType,this.OwnerObject.KeyField.UsingType,true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField,false,null));
            }

            // [FieldName!Tag!Id] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [Field!Tag!Name] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [Field!Tag!Description] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [FieldName!Tag!Type] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [FieldName!Tag!DataType] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));

            // New Addon [4/22/2004]
            // [Values!Tag!Value] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // End New Addon [4/22/2004]
        }
Exemple #14
0
        protected void AddFieldToSelect(QSqlSelectMaker	select)
        {
            bool bShowAlias	=	QSqlSelectList.Count==0;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"[Report!1!Name]":null));

            // Add Group Fields [4/20/2004]
            int	tmpGroupTagNumber	=	2;

            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                string FieldAlias	=	null;

                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Groups",tmpGroupTagNumber.ToString(),"Name");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                bool FieldIsNull	=	false;

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),FieldIsNull,FieldAlias));

                tmpGroupTagNumber++;

                // Step 2. Add Group Item [4/21/2004]
                //////////////////////////////////////////////////////////////////////////
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Group",tmpGroupTagNumber.ToString(),"Name");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,FieldIsNull,FieldAlias));
                //////////////////////////////////////////////////////////////////////////

                //////////////////////////////////////////////////////////////////////////
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Group",tmpGroupTagNumber.ToString(),"Id");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.Name,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),FieldIsNull,FieldAlias));
                //////////////////////////////////////////////////////////////////////////

                tmpGroupTagNumber++;
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                string KeyFieldAlias	=	null;

                if(bShowAlias)
                {
                    KeyFieldAlias	=	string.Format("[{0}!{1}!Key]","Item",tmpGroupTagNumber);

                    if(!OrderByFields.Contains(KeyFieldAlias))
                        OrderByFields.Add(KeyFieldAlias);
                }

                select.AddField(new QSqlSelectFieldMaker(this.OwnerObject.KeyField,true,KeyFieldAlias));
            }

            tmpGroupTagNumber++;

            // Add Fields [4/20/2004]
            //foreach(QField availableFields in this.Fields)
            {
                string FieldAlias	=	null;

                // [FieldName!Tag!Id] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Id");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [Field!Tag!Name] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Name");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [Field!Tag!Description] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Description");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [FieldName!Tag!Type] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Type");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [FieldName!Tag!DataType] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"DataType");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // New Addon [4/22/2004]
                tmpGroupTagNumber++;

                // [Values!Tag!Value] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}!element]","Values",tmpGroupTagNumber,"Value");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));
                // End New Addon [4/22/2004]
            }
        }
Exemple #15
0
        protected void AddFieldToSelect(QSqlSelectMaker select)
        {
            bool bShowAlias = QSqlSelectList.Count == 0;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"[Report!1!Name]":null));

            // Add Group Fields [4/20/2004]
            int tmpGroupTagNumber = 2;

            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                string FieldAlias = null;

                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Groups", tmpGroupTagNumber.ToString(), "Name");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                bool FieldIsNull = false;

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), FieldIsNull, FieldAlias));

                tmpGroupTagNumber++;

                // Step 2. Add Group Item [4/21/2004]
                //////////////////////////////////////////////////////////////////////////
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Group", tmpGroupTagNumber.ToString(), "Name");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, FieldIsNull, FieldAlias));
                //////////////////////////////////////////////////////////////////////////


                //////////////////////////////////////////////////////////////////////////
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Group", tmpGroupTagNumber.ToString(), "Id");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.Name, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), FieldIsNull, FieldAlias));
                //////////////////////////////////////////////////////////////////////////


                tmpGroupTagNumber++;
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                string KeyFieldAlias = null;

                if (bShowAlias)
                {
                    KeyFieldAlias = string.Format("[{0}!{1}!Key]", "Item", tmpGroupTagNumber);

                    if (!OrderByFields.Contains(KeyFieldAlias))
                    {
                        OrderByFields.Add(KeyFieldAlias);
                    }
                }

                select.AddField(new QSqlSelectFieldMaker(this.OwnerObject.KeyField, true, KeyFieldAlias));
            }

            tmpGroupTagNumber++;

            // Add Fields [4/20/2004]
            //foreach(QField availableFields in this.Fields)
            {
                string FieldAlias = null;

                // [FieldName!Tag!Id] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Id");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [Field!Tag!Name] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Name");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [Field!Tag!Description] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Description");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [FieldName!Tag!Type] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Type");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [FieldName!Tag!DataType] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "DataType");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // New Addon [4/22/2004]
                tmpGroupTagNumber++;

                // [Values!Tag!Value] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}!element]", "Values", tmpGroupTagNumber, "Value");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));
                // End New Addon [4/22/2004]
            }
        }
Exemple #16
0
        protected void AddLastFieldToSelect(QSqlSelectMaker select, QField availableField, QField exField, bool bFinalStep)
        {
            bool bShowAlias = false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.FriendlyName, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), false, null));
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                QField keyField = this.OwnerObject.KeyField;
                if (_KeyUniquePrefix != null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                                          "'" + _KeyUniquePrefix + "' + CONVERT(NVARCHAR(3000),{0}.[" + this.OwnerObject.KeyField.DBName + "],20)",
                                          this.OwnerObject.KeyField.DataType, this.OwnerObject.KeyField.UsingType, true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField, false, null));
            }

            if (bFinalStep)
            {
                // [FieldName!Tag!Id] [4/22/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations == null?"1":(availableField.Relations.Length == 1?"2":"3")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()), false, null));
                if (exField != null)
                {
                    select.AddField(new QSqlSelectFieldMaker(exField, false, null));
                }
                else
                {
                    select.AddField(new QSqlSelectFieldMaker(availableField, false, null));
                }
            }
            else
            {
                // Add Fields [4/20/2004]
                //foreach(QField availableFields in this.Fields)
                //{
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations == null?"1":(availableField.Relations.Length == 1?"2":"3")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()), false, null));
                select.AddField(new QSqlSelectFieldMaker(null, true, null));
                //}
            }
        }