Beispiel #1
0
        //private void GenFromClause(ref GenOsqlParamInfo paramInfo)
        //{
        //    paramInfo.FormClause = paramInfo.DomainInfo.DSDomainData.GetFromClause(paramInfo.DSRelationRow, AppDbTypes.Oracle);
        //}
        #endregion

        #region gen for xml clause
        private void GenForXmlClause(ref GenOsqlParamInfo paramInfo)
        {
            paramInfo.OsqlXmlItem       = new OsqlXmlItem();
            paramInfo.OsqlXmlItem.Paths = new List <OsqlXmlItemPath>();
            foreach (OsqlStringBuilder item in paramInfo.OsqlStringBuilders)
            {
                OsqlXmlItemPath osqlXmlItemPath = new OsqlXmlItemPath();
                osqlXmlItemPath.Osql = item.Osql.ToString().TrimEnd();
                osqlXmlItemPath.JSql = item.JOsql.ToString().TrimEnd();
                if (!string.IsNullOrWhiteSpace(item.SelectedColumns))
                {
                    if (item.SelectedColumns.StartsWith(","))
                    {
                        osqlXmlItemPath.SelectedColumns = item.SelectedColumns.Remove(0, 1);
                    }
                    else
                    {
                        osqlXmlItemPath.SelectedColumns = item.SelectedColumns;
                    }
                }

                paramInfo.OsqlXmlItem.Paths.Add(osqlXmlItemPath);
            }
            paramInfo.OsqlXmlItem.Index            = paramInfo.IndexOfDomain;
            paramInfo.OsqlXmlItem.DomainName       = paramInfo.DomainInfo.DSDomainData.Name;
            paramInfo.OsqlXmlItem.EncodeDomainName = BaseMarkupUtilities.XmlEncode(paramInfo.DomainInfo.DSDomainData.Name);
        }
Beispiel #2
0
        //private void GenFromClause(ref GenOsqlParamInfo paramInfo)
        //{
        //    paramInfo.FormClause = paramInfo.DomainInfo.DSDomainData.GetFromClause(paramInfo.DSRelationRow);
        //}
        #endregion

        #region gen for xml clause
        private void GenForXmlClause(ref GenOsqlParamInfo paramInfo)
        {
            //For XML Auto
            string forXml        = string.Empty;
            string domainEncoded = BaseMarkupUtilities.XmlEncode(paramInfo.IbmDomain.DomainName);

            if (paramInfo.HasField)
            {
                if (!paramInfo.IsNeedInKeyword)
                {
                    forXml = string.Format(Sql08QueryConstants.XmlAuto.ForXMLAuto, domainEncoded);
                }
                else
                {
                    forXml = string.Format(Sql08QueryConstants.XmlAuto.ForXMLAutoIn, domainEncoded);
                }
            }
            else
            {
                string rootTable = paramInfo.SelectedTables[0][0];
                if (!paramInfo.IsNeedInKeyword)
                {
                    forXml = string.Format(Sql08QueryConstants.XmlAuto.ForXMLAutoIn, rootTable, domainEncoded);
                }
                else
                {
                    forXml = string.Format(Sql08QueryConstants.XmlAuto.ForXMLRawIn, rootTable, domainEncoded);
                }
            }

            paramInfo.OsqlXmlItem       = new OsqlXmlItem();
            paramInfo.OsqlXmlItem.Paths = new List <OsqlXmlItemPath>();
            foreach (OsqlStringBuilder item in paramInfo.OsqlStringBuilders)
            {
                item.AppendLine(forXml);

                //Prepare for return
                if (paramInfo.HasImage)
                {
                    item.Append(Sql08QueryConstants.SQLBase64);
                }

                OsqlXmlItemPath osqlXmlItemPath = new OsqlXmlItemPath();
                osqlXmlItemPath.Osql = item.Osql.ToString().TrimEnd();
                osqlXmlItemPath.JSql = item.JOsql.ToString().TrimEnd();

                if (paramInfo.IsNeedInKeyword)
                {
                    osqlXmlItemPath.Osql = string.Format(Sql08QueryConstants.SQLWithIn, osqlXmlItemPath.Osql);
                    osqlXmlItemPath.JSql = string.Format(Sql08QueryConstants.SQLWithIn, osqlXmlItemPath.JSql);
                }
                paramInfo.OsqlXmlItem.Paths.Add(osqlXmlItemPath);
            }
            paramInfo.OsqlXmlItem.Index            = paramInfo.IndexOfDomain;
            paramInfo.OsqlXmlItem.DomainName       = paramInfo.DomainInfo.DSDomainData.Name;
            paramInfo.OsqlXmlItem.EncodeDomainName = BaseMarkupUtilities.XmlEncode(paramInfo.DomainInfo.DSDomainData.Name);
        }