internal void MergeCollationSettings(ErrorContext errorContext, string dataSourceType, string cultureName, bool caseSensitive, bool accentSensitive, bool kanatypeSensitive, bool widthSensitive)
        {
            if (!NeedAutoDetectCollation())
            {
                return;
            }
            uint lcid = DataSetValidator.LOCALE_SYSTEM_DEFAULT;

            if (cultureName != null)
            {
                try
                {
                    lcid = (uint)CultureInfo.GetCultureInfo(cultureName).LCID;
                }
                catch (Exception)
                {
                    errorContext?.Register(ProcessingErrorCode.rsInvalidCollationCultureName, Severity.Warning, Microsoft.ReportingServices.ReportProcessing.ObjectType.DataSet, m_name, dataSourceType, cultureName);
                }
            }
            if (DataSetValidator.LOCALE_SYSTEM_DEFAULT == m_lcid)
            {
                m_lcid = lcid;
            }
            m_accentSensitivity   = MergeSensitivity(m_accentSensitivity, accentSensitive);
            m_caseSensitivity     = MergeSensitivity(m_caseSensitivity, caseSensitive);
            m_kanatypeSensitivity = MergeSensitivity(m_kanatypeSensitivity, kanatypeSensitive);
            m_widthSensitivity    = MergeSensitivity(m_widthSensitivity, widthSensitive);
        }
Beispiel #2
0
 public void MergeCollationSettings(ErrorContext errorContext, string dataSourceType, string cultureName, bool caseSensitive, bool accentSensitive, bool kanatypeSensitive, bool widthSensitive)
 {
     if (this.NeedAutoDetectCollation())
     {
         uint lcid = DataSetValidator.LOCALE_SYSTEM_DEFAULT;
         if (cultureName != null)
         {
             try
             {
                 CultureInfo cultureInfo = CultureInfo.GetCultureInfo(cultureName);
                 lcid = (uint)cultureInfo.LCID;
             }
             catch (Exception)
             {
                 if (errorContext != null)
                 {
                     errorContext.Register(ProcessingErrorCode.rsInvalidCollationCultureName, Severity.Warning, AspNetCore.ReportingServices.ReportProcessing.ObjectType.DataSet, this.m_name, dataSourceType, cultureName);
                 }
             }
         }
         if (DataSetValidator.LOCALE_SYSTEM_DEFAULT == this.m_lcid)
         {
             this.m_lcid = lcid;
         }
         this.m_accentSensitivity   = this.MergeSensitivity(this.m_accentSensitivity, accentSensitive);
         this.m_caseSensitivity     = this.MergeSensitivity(this.m_caseSensitivity, caseSensitive);
         this.m_kanatypeSensitivity = this.MergeSensitivity(this.m_kanatypeSensitivity, kanatypeSensitive);
         this.m_widthSensitivity    = this.MergeSensitivity(this.m_widthSensitivity, widthSensitive);
     }
 }
 private DataSet.TriState MergeSensitivity(DataSet.TriState current, bool detectedValue)
 {
     if (current != 0)
     {
         return(current);
     }
     if (detectedValue)
     {
         return(DataSet.TriState.True);
     }
     return(DataSet.TriState.False);
 }
        public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.Name:
                    m_name = reader.ReadString();
                    break;

                case MemberName.Fields:
                    m_fields = reader.ReadGenericListOfRIFObjects <Field>();
                    break;

                case MemberName.Query:
                    m_query = (ReportQuery)reader.ReadRIFObject();
                    break;

                case MemberName.SharedDataSetQuery:
                    m_sharedDataSetQuery = (SharedDataSetQuery)reader.ReadRIFObject();
                    break;

                case MemberName.Collation:
                    m_collation = reader.ReadString();
                    break;

                case MemberName.CollationCulture:
                    m_collationCulture = reader.ReadString();
                    break;

                case MemberName.LCID:
                    m_lcid = reader.ReadUInt32();
                    break;

                case MemberName.CaseSensitivity:
                    m_caseSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.AccentSensitivity:
                    m_accentSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.KanatypeSensitivity:
                    m_kanatypeSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.WidthSensitivity:
                    m_widthSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.Filters:
                    m_filters = reader.ReadGenericListOfRIFObjects <Filter>();
                    break;

                case MemberName.InterpretSubtotalsAsDetails:
                    m_interpretSubtotalsAsDetails = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.CatalogID:
                    m_catalogID = reader.ReadGuid();
                    break;

                case MemberName.NonCalculatedFieldCount:
                    m_nonCalculatedFieldCount = reader.ReadInt32();
                    break;

                case MemberName.CompiledCode:
                    m_compiledCode = reader.ReadByteArray();
                    break;

                case MemberName.CompiledCodeGeneratedWithRefusedPermissions:
                    m_compiledCodeGeneratedWithRefusedPermissions = reader.ReadBoolean();
                    break;

                case MemberName.ExprHostID:
                    m_exprHostID = reader.ReadInt32();
                    break;

                case MemberName.ExprHostAssemblyID:
                    m_exprHostAssemblyId = reader.ReadGuid();
                    break;

                case MemberName.NullsAsBlanks:
                    m_nullsAsBlanks = reader.ReadBoolean();
                    break;

                default:
                    Global.Tracer.Assert(condition: false, string.Empty);
                    break;
                }
            }
        }
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.RecordSetSize:
                    m_recordSetSize = reader.ReadInt32();
                    break;

                case MemberName.CommandText:
                    m_commandText = reader.ReadString();
                    break;

                case MemberName.RewrittenCommandText:
                    m_rewrittenCommandText = reader.ReadString();
                    break;

                case MemberName.Fields:
                    m_fieldInfos = reader.ReadArrayOfRIFObjects <FieldInfo>();
                    break;

                case MemberName.CaseSensitivity:
                    m_caseSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.AccentSensitivity:
                    m_accentSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.KanatypeSensitivity:
                    m_kanatypeSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.WidthSensitivity:
                    m_widthSensitivity = (DataSet.TriState)reader.ReadEnum();
                    break;

                case MemberName.LCID:
                    m_lcid = reader.ReadUInt32();
                    break;

                case MemberName.TablixProcessingComplete:
                    m_oldSnapshotTablixProcessingComplete = reader.ReadBoolean();
                    break;

                case MemberName.DataChunkName:
                    m_dataChunkName = reader.ReadString();
                    break;

                case MemberName.LookupResults:
                    m_lookupResults = reader.ReadListOfRIFObjects <List <LookupObjResult> >();
                    break;

                case MemberName.ExecutionTime:
                    m_executionTime = reader.ReadDateTime();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }