Exemplo n.º 1
0
        private static void WriteGeneralPagePackageRows(HtmlTextWriter writer, KeyValuePair<PackageKey, FeedPackage> package)
        {
            if (package.Value.CurrentVersion != null && package.Value.LatestVersion != null &&
                package.Value.CurrentVersion.Version != package.Value.LatestVersion.Version)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Bgcolor, "#CCCC00;");
            }

            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            {
                if (package.Value.CurrentVersion != null)
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    {
                        writer.WriteUrlLink(string.Format("{0}{1}.html", package.Value.CurrentVersion.Id, package.Value.CurrentVersion.Version), package.Value.CurrentVersion.Id);
                    }
                    writer.RenderEndTag();
                }
                else
                {
                    writer.WriteTableColumn(package.Key.Id);
                }

                writer.WriteTableColumn(package.Key.Version);

                writer.WriteTableColumn(package.Value.LatestVersion != null
                                            ? package.Value.LatestVersion.Version
                                            : "Unknown");

                writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    if (package.Value.CurrentVersion != null && !string.IsNullOrEmpty(package.Value.CurrentVersion.LicenseUrl))
                    {
                        writer.WriteUrlLink(package.Value.CurrentVersion.LicenseUrl, "License");
                    }
                    else
                    {
                        writer.Write("Not Found");
                    }
                }
                writer.RenderEndTag();

                writer.WriteTableColumn(package.Value.ProjectNames.Count.ToString(CultureInfo.InvariantCulture));
            }
            writer.RenderEndTag();
        }
Exemplo n.º 2
0
        private static void GeneratePackagePages(string outputFilePath, Dictionary<PackageKey, FeedPackage> feedPackages)
        {
            foreach (var package in feedPackages.Where(pckge => pckge.Value.CurrentVersion != null))
            {
                using (var stringWriter = new StringWriter())
                {
                    using (var writer = new HtmlTextWriter(stringWriter))
                    {
                        writer.RenderBeginTag(HtmlTextWriterTag.H1);
                        {
                            writer.WriteLine("Nuget Package Report for {0} {1}", package.Value.CurrentVersion.Id, package.Value.CurrentVersion.Version);
                        }
                        writer.RenderEndTag();

                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.WritePackageInfoLine("Description", package.Value.CurrentVersion.Description);
                        writer.WritePackageInfoLine("Created", package.Value.CurrentVersion.Created.ToShortDateString());
                        writer.WritePackageInfoLine("Last Updated", package.Value.CurrentVersion.LastUpdated.ToShortDateString());
                        writer.WritePackageInfoLine("Release Notes", package.Value.CurrentVersion.ReleaseNotes);

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("License Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.LicenseUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.LicenseUrl, package.Value.CurrentVersion.LicenseUrl);
                        }
                        else
                        {
                            writer.WriteLine("No License Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("Project Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.ProjectUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.ProjectUrl, package.Value.CurrentVersion.ProjectUrl);
                        }
                        else
                        {
                            writer.WriteLine("No Project Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("Gallery Details Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.GalleryDetailsUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.GalleryDetailsUrl, package.Value.CurrentVersion.GalleryDetailsUrl);
                        }
                        else
                        {
                            writer.WriteLine("No Gallery Details Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        var content = writer.InnerWriter.ToString();

                        var path = Path.Combine(outputFilePath, string.Format("{0}{1}.html", package.Value.CurrentVersion.Id, package.Value.CurrentVersion.Version));
                        File.WriteAllText(path, content);
                    }
                }
            }
        }
Exemplo n.º 3
0
        private static void GenerateProjectPage(string inputFilePath, string outputFilePath,
            Dictionary<PackageKey, FeedPackage> feedPackages)
        {
            using (var stringWriter = new StringWriter())
            {
                using (var writer = new HtmlTextWriter(stringWriter))
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.H1);
                    {
                        writer.WriteLine("Nuget Package Report Projects by Package");
                    }
                    writer.RenderEndTag();

                    writer.WriteGeneralInformation(inputFilePath, feedPackages);
                    writer.WriteBreak();

                    foreach (var package in feedPackages)
                    {
                        writer.RenderBeginTag(HtmlTextWriterTag.H3);
                        {
                            writer.WriteUrlLink(string.Format("{0}{1}.html", package.Key.Id, package.Key.Version), string.Format("{0} {1}", package.Key.Id, package.Key.Version));
                            writer.WriteBreak();
                        }
                        writer.RenderEndTag();

                        foreach (var project in package.Value.ProjectNames.OrderBy(x => x))
                        {
                            writer.WriteLine(project);
                            writer.WriteBreak();
                        }
                        writer.WriteBreak();
                    }

                    var content = writer.InnerWriter.ToString();

                    var path = Path.Combine(outputFilePath, ProjectPageFileName);
                    File.WriteAllText(path, content);
                    System.Diagnostics.Process.Start(path);
                }
            }
        }