Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 143529

Comparing original label file vs extd label file.

$
0
0

What i m trying to accomplish is that compare sys label with sys extension label file.

1.Sys label file

2.Sys extension label file.

Each time there is a different label text value for same label id, info should trigger to highlight the difference in values for same label id.

CURRENT OUTPUT

a>Microsoft.Dynamics.Ax.Xpp.ClrException::Starting at Microsoft.Dynamics.Ax.Xpp.CLRInterop.MakeReflection call........

Further self investigation on error

a>Inserted try & catch to find meaning of the above general CLR exception, using that I realized that

System.MissingMethodException Method System.collection.generic.dictionary .Reset not found (Strange because I was getting no compile time errors and only build time errors)

Which means I cannot reset the generic dictionary, but I need to reset the enumeration so that they both are at same position before comparing checks in.

Can anyone extend support to fix this code.

Code


        info ("Starting");
        int counter1 =0;
         new InteropPermission (InteropKind::ClrInterop).assert();   
            
        ClrObject labels = new ClrObject("System.Collections.Generic.Dictionary`2[System.String,System.String]");
        ClrObject labelset = new ClrObject("System.Collections.Generic.Dictionary`2[System.String,System.String]");

        labels = Microsoft.Dynamics.Ax.Xpp.LabelHelper::GetAllLabels('SYS',System.Globalization.CultureInfo::CurrentCulture);
        labelset = Microsoft.Dynamics.Ax.Xpp.LabelHelper::GetAllLabels('SYS_Extension',System.Globalization.CultureInfo::CurrentCulture);

        ClrObject labelsEnumerator = labels.GetEnumerator();
        ClrObject labelsetEnumerator = labelset.GetEnumerator();

        labelsEnumerator.reset();
        labelsetEnumerator.reset();

        while(labelsEnumerator.MoveNext() )
        {
            while (labelsetEnumerator.MoveNext() )
            {
                ClrObject keyValuePair = labelsEnumerator.get_Current();
                CLRObject keyvaluePairext = labelsetEnumerator.get_Current();

                var currentlabelId = keyValuePair.get_Key();
                var currentTxt = keyValuePair.get_Value();
                var currentLabelext = keyvaluePairext.get_key();
                var currentTxtext = keyvaluePairext.get_value();
                if (currentlabelId == currentLabelext && currentTxt != currentTxtext)
                {

                    counter1++;
                    info (strfmt("SYS label value %1 text = %2, SYS label extension value %3 = %4",currentlabelId,currentTxt,currentLabelext,currentTxtext));

                }

            }
        }
        info (strFmt("Done, found so many difference %1",counter1));

        CodeAccessPermission::revertAssert();


Viewing all articles
Browse latest Browse all 143529

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>