コード例 #1
0
        internal string CreateUniqueVariableName(string oldName, bool isClone)
        {
            StringBuilder stringBuilder = null;
            string        text          = null;
            int           num           = 1;

            if (isClone)
            {
                num = 2;
            }
            do
            {
                stringBuilder = ((!isClone) ? new StringBuilder(oldName.Length + 19) : new StringBuilder(oldName.Length + 4));
                stringBuilder.Append(oldName);
                if (isClone)
                {
                    stringBuilder.Append("_");
                }
                else
                {
                    stringBuilder.Append("_InAutoSubtotal");
                }
                stringBuilder.Append(num.ToString(CultureInfo.InvariantCulture.NumberFormat));
                text = stringBuilder.ToString();
                num++;
            }while (!m_variableNameValidator.Validate(text));
            Global.Tracer.Assert(!m_variableNameMap.ContainsKey(oldName), "(!m_variableNameMap.ContainsKey(oldName))");
            m_variableNameMap.Add(oldName, text);
            return(text);
        }
コード例 #2
0
        internal string CreateUniqueReportItemName(string oldName, bool emptyRectangle, bool isClone)
        {
            string value = null;

            if (!emptyRectangle && m_reportItemNameMap.TryGetValue(oldName, out value))
            {
                return(value);
            }
            StringBuilder stringBuilder = null;
            int           num           = 1;

            if (isClone)
            {
                num = 2;
            }
            do
            {
                stringBuilder = new StringBuilder();
                stringBuilder.Append(oldName);
                if (emptyRectangle && !isClone)
                {
                    stringBuilder.Append("_AsRectangle");
                }
                else if (isClone)
                {
                    stringBuilder.Append("_");
                }
                else
                {
                    stringBuilder.Append("_InAutoSubtotal");
                }
                stringBuilder.Append(num.ToString(CultureInfo.InvariantCulture.NumberFormat));
                value = stringBuilder.ToString();
                num++;
            }while (!m_reportItemNameValidator.Validate(value));
            if (!emptyRectangle)
            {
                if (m_reportItemNameMap.ContainsKey(oldName))
                {
                    m_reportItemNameMap[oldName] = value;
                }
                else
                {
                    m_reportItemNameMap.Add(oldName, value);
                }
            }
            return(value);
        }
コード例 #3
0
        internal string CreateAndRegisterUniqueGroupName(string oldName, bool isClone, bool isDomainScope)
        {
            string value = null;

            if (m_scopeNameMap.TryGetValue(oldName, out value))
            {
                return(value);
            }
            StringBuilder stringBuilder = null;
            int           num           = 1;

            if (isClone)
            {
                num = 2;
            }
            do
            {
                stringBuilder = (isDomainScope ? new StringBuilder(oldName.Length + 16) : ((!isClone) ? new StringBuilder(oldName.Length + 19) : new StringBuilder(oldName.Length + 4)));
                stringBuilder.Append(oldName);
                if (isDomainScope)
                {
                    stringBuilder.Append("_DomainScope");
                }
                else if (isClone)
                {
                    stringBuilder.Append("_");
                }
                else
                {
                    stringBuilder.Append("_InAutoSubtotal");
                }
                stringBuilder.Append(num.ToString(CultureInfo.InvariantCulture.NumberFormat));
                value = stringBuilder.ToString();
                num++;
            }while (!m_scopeNameValidator.Validate(value));
            RegisterClonedScopeName(oldName, value);
            return(value);
        }