Orc.NuGetExplorer.PackageDetailsService.PackageToFlowDocument C# (CSharp) Method

PackageToFlowDocument() public method

public PackageToFlowDocument ( IPackageDetails package ) : System.Windows.Documents.FlowDocument
package IPackageDetails
return System.Windows.Documents.FlowDocument
        public FlowDocument PackageToFlowDocument(IPackageDetails package)
        {
            Argument.IsNotNull(() => package);

            var result = new FlowDocument();

            var paragraph = new Paragraph
            {
                FontSize = 12
            };

            var autors = GetDetailsRecord("Created by: ", package.Authors.ToArray());
            paragraph.Inlines.AddIfNotNull(autors);

            var id = GetDetailsRecord("Id: ", package.Id);
            paragraph.Inlines.AddIfNotNull(id);

            var version = GetDetailsRecord("Version: ", GetVersion(package));
            paragraph.Inlines.AddIfNotNull(version);

            var published = package.Published;

            if (published != null && _repositoryNavigatorService.Navigator.SelectedRepository.OperationType != PackageOperationType.Uninstall)
            {
                paragraph.Inlines.AddIfNotNull(GetDetailsRecord("Published: ", published.Value.LocalDateTime.ToString(CultureInfo.CurrentCulture.DateTimeFormat)));
            }

            if (published != null && _repositoryNavigatorService.Navigator.SelectedRepository.OperationType == PackageOperationType.Uninstall)
            {
                paragraph.Inlines.AddIfNotNull(GetDetailsRecord("Installed: ", published.Value.LocalDateTime.ToString(CultureInfo.CurrentCulture.DateTimeFormat)));
            }

            var downloads = GetDetailsRecord("Downloads: ", package.DownloadCount.ToString());
            paragraph.Inlines.AddIfNotNull(downloads);

            if (!string.IsNullOrWhiteSpace(package.Dependencies))
            {
                var dependencies = GetDetailsRecord("Dependencies: ", package.Dependencies);
                paragraph.Inlines.AddIfNotNull(dependencies);
            }

            result.Blocks.Add(paragraph);
            return result;
        }