Example #1
0
        public IDictionary <Guid, FailureRec> GetQuarantinedJobs()
        {
            IRegistryReader instance  = RegistryReader.Instance;
            IRegistryWriter instance2 = RegistryWriter.Instance;

            string[] array = null;
            try
            {
                array = instance.GetSubKeyNames(Registry.LocalMachine, JobQuarantineProvider.KeyNameFormatQuarantinedJobRoot);
            }
            catch (ArgumentException)
            {
            }
            if (array == null)
            {
                return(new Dictionary <Guid, FailureRec>());
            }
            Dictionary <Guid, FailureRec> dictionary = new Dictionary <Guid, FailureRec>(array.Length);

            string[] array2 = array;
            int      i      = 0;

            while (i < array2.Length)
            {
                string text       = array2[i];
                Guid   key        = Guid.Empty;
                string subkeyName = Path.Combine(JobQuarantineProvider.KeyNameFormatQuarantinedJobRoot, text);
                try
                {
                    key = new Guid(text);
                }
                catch (FormatException)
                {
                    try
                    {
                        instance2.DeleteSubKeyTree(Registry.LocalMachine, subkeyName);
                    }
                    catch (ArgumentException)
                    {
                    }
                    goto IL_118;
                }
                goto IL_80;
IL_118:
                i++;
                continue;
IL_80:
                string value = instance.GetValue <string>(Registry.LocalMachine, subkeyName, "FailureType", string.Empty);
                string     value2 = instance.GetValue <string>(Registry.LocalMachine, subkeyName, "Message", string.Empty);
                string     value3 = instance.GetValue <string>(Registry.LocalMachine, subkeyName, "StackTrace", string.Empty);
                string     value4 = instance.GetValue <string>(Registry.LocalMachine, subkeyName, "DataContext", string.Empty);
                string     value5 = instance.GetValue <string>(Registry.LocalMachine, subkeyName, "InnerException", string.Empty);
                FailureRec value6 = FailureRec.Create(value, value2, value3, value4, value5);
                dictionary.Add(key, value6);
                goto IL_118;
            }
            return(dictionary);
        }