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;
}