Ejemplo n.º 1
0
        // Token: 0x060003A5 RID: 933 RVA: 0x000181D0 File Offset: 0x000163D0
        public static Dictionary <string, List <string> > GroupUrls(ReportJobConfiguration config)
        {
            StringBuilder  errors = new StringBuilder();
            StringComparer strcmp = StringComparer.OrdinalIgnoreCase;
            Dictionary <string, List <string> > dictionary = new Dictionary <string, List <string> >(strcmp);

            if (config == null)
            {
                ReportJobInitializer.log.ErrorFormat("GroupUrls(ReportJobConfiguration) config is NULL {0}", Environment.StackTrace);
                return(dictionary);
            }
            try
            {
                List <string> list = (from report in config.Reports
                                      select string.Format("{0}/Orion/Report.aspx?ReportID={1}", WebsitesDAL.GetSiteAddress(config.WebsiteID), report.ID)).Union(config.Urls.Select(delegate(string url)
                {
                    if (!url.Contains('?'))
                    {
                        return(url + "?");
                    }
                    return(url);
                })).ToList <string>();
                foreach (string text in list)
                {
                    if (text.IndexOf("/Orion/", StringComparison.OrdinalIgnoreCase) < 0)
                    {
                        if (!dictionary.ContainsKey(OrionWebClient.UseDefaultWebsiteIdentifier))
                        {
                            dictionary.Add(OrionWebClient.UseDefaultWebsiteIdentifier, new List <string>());
                        }
                        dictionary[OrionWebClient.UseDefaultWebsiteIdentifier].Add(text);
                    }
                    else
                    {
                        string uriLeftPart;
                        try
                        {
                            Uri uri;
                            if (!Uri.TryCreate(text, UriKind.Absolute, out uri))
                            {
                                errors.AppendFormat("Invalid URL {0} \r\n", text);
                                continue;
                            }
                            uriLeftPart = uri.GetLeftPart(UriPartial.Authority);
                        }
                        catch (Exception arg)
                        {
                            errors.AppendFormat("Invalid URL {0}. {1}\r\n", text, arg);
                            continue;
                        }
                        if (!dictionary.ContainsKey(uriLeftPart))
                        {
                            dictionary.Add(uriLeftPart, list.Where(delegate(string u)
                            {
                                bool result;
                                try
                                {
                                    Uri uri2;
                                    if (!Uri.TryCreate(u, UriKind.Absolute, out uri2))
                                    {
                                        errors.AppendFormat("Invalid URL {0} \r\n", u);
                                        result = false;
                                    }
                                    else
                                    {
                                        string leftPart = uri2.GetLeftPart(UriPartial.Authority);
                                        result          = strcmp.Equals(uriLeftPart, leftPart);
                                    }
                                }
                                catch (Exception arg3)
                                {
                                    errors.AppendFormat("Invalid URL {0}. {1}\r\n", u, arg3);
                                    result = false;
                                }
                                return(result);
                            }).ToList <string>());
                        }
                    }
                }
            }
            catch (Exception arg2)
            {
                errors.AppendFormat("Unexpected exception {0}", arg2);
            }
            if (errors.Length > 0)
            {
                StringBuilder stringBuilder = new StringBuilder().AppendFormat("Errors in ReportJob-{0}({1}) @ Engine {2} & Website {3} \r\n", new object[]
                {
                    config.ReportJobID,
                    config.Name,
                    config.EngineId,
                    config.WebsiteID
                }).Append(errors);
                ReportJobInitializer.log.Error(stringBuilder);
            }
            return(dictionary);
        }
Ejemplo n.º 2
0
        public static Dictionary <string, List <string> > GroupUrls(
            ReportJobConfiguration config)
        {
            StringBuilder  errors = new StringBuilder();
            StringComparer strcmp = StringComparer.OrdinalIgnoreCase;
            Dictionary <string, List <string> > dictionary = new Dictionary <string, List <string> >((IEqualityComparer <string>)strcmp);

            if (config == null)
            {
                ReportJobInitializer.log.ErrorFormat("GroupUrls(ReportJobConfiguration) config is NULL {0}", (object)Environment.StackTrace);
                return(dictionary);
            }
            try
            {
                List <string> list = ((IEnumerable <ReportTuple>)config.get_Reports()).Select <ReportTuple, string>((Func <ReportTuple, string>)(report => string.Format("{0}/Orion/Report.aspx?ReportID={1}", (object)WebsitesDAL.GetSiteAddress(config.get_WebsiteID()), (object)report.get_ID()))).Union <string>(config.get_Urls().Select <string, string>((Func <string, string>)(url => !url.Contains <char>('?') ? url + "?" : url))).ToList <string>();
                foreach (string uriString in list)
                {
                    if (uriString.IndexOf("/Orion/", StringComparison.OrdinalIgnoreCase) < 0)
                    {
                        if (!dictionary.ContainsKey((string)OrionWebClient.UseDefaultWebsiteIdentifier))
                        {
                            dictionary.Add((string)OrionWebClient.UseDefaultWebsiteIdentifier, new List <string>());
                        }
                        dictionary[(string)OrionWebClient.UseDefaultWebsiteIdentifier].Add(uriString);
                    }
                    else
                    {
                        string uriLeftPart;
                        try
                        {
                            Uri result;
                            if (!Uri.TryCreate(uriString, UriKind.Absolute, out result))
                            {
                                errors.AppendFormat("Invalid URL {0} \r\n", (object)uriString);
                                continue;
                            }
                            uriLeftPart = result.GetLeftPart(UriPartial.Authority);
                        }
                        catch (Exception ex)
                        {
                            errors.AppendFormat("Invalid URL {0}. {1}\r\n", (object)uriString, (object)ex);
                            continue;
                        }
                        if (!dictionary.ContainsKey(uriLeftPart))
                        {
                            dictionary.Add(uriLeftPart, list.Where <string>((Func <string, bool>)(u =>
                            {
                                try
                                {
                                    Uri result;
                                    if (Uri.TryCreate(u, UriKind.Absolute, out result))
                                    {
                                        return(strcmp.Equals(uriLeftPart, result.GetLeftPart(UriPartial.Authority)));
                                    }
                                    errors.AppendFormat("Invalid URL {0} \r\n", (object)u);
                                    return(false);
                                }
                                catch (Exception ex)
                                {
                                    errors.AppendFormat("Invalid URL {0}. {1}\r\n", (object)u, (object)ex);
                                    return(false);
                                }
                            })).ToList <string>());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                errors.AppendFormat("Unexpected exception {0}", (object)ex);
            }
            if (errors.Length > 0)
            {
                StringBuilder stringBuilder = new StringBuilder().AppendFormat("Errors in ReportJob-{0}({1}) @ Engine {2} & Website {3} \r\n", (object)config.get_ReportJobID(), (object)config.get_Name(), (object)config.get_EngineId(), (object)config.get_WebsiteID()).Append((object)errors);
                ReportJobInitializer.log.Error((object)stringBuilder);
            }
            return(dictionary);
        }