FileNameProviderContainer
using kCura.WinEDDS.Exporters;
using System.Collections.Generic;
namespace kCura.WinEDDS
{
public class FileNameProviderContainer : IFileNameProvider
{
private readonly ExportFile _exportSettings;
private readonly IDictionary<ExportNativeWithFilenameFrom, IFileNameProvider> _fileNameProviders;
public FileNameProviderContainer(ExportFile exportSettings, IDictionary<ExportNativeWithFilenameFrom, IFileNameProvider> fileNameProviders)
{
_exportSettings = exportSettings;
_fileNameProviders = fileNameProviders;
}
public string GetName(ObjectExportInfo exportedObjectInfo)
{
return GetProvider().GetName(exportedObjectInfo);
}
string IFileNameProvider.GetName(ObjectExportInfo exportedObjectInfo)
{
return this.GetName(exportedObjectInfo);
}
public string GetTextName(ObjectExportInfo exportedObjectInfo)
{
return GetProvider().GetTextName(exportedObjectInfo);
}
string IFileNameProvider.GetTextName(ObjectExportInfo exportedObjectInfo)
{
return this.GetTextName(exportedObjectInfo);
}
public string GetPdfName(ObjectExportInfo exportedObjectInfo)
{
return GetProvider().GetPdfName(exportedObjectInfo);
}
string IFileNameProvider.GetPdfName(ObjectExportInfo exportedObjectInfo)
{
return this.GetPdfName(exportedObjectInfo);
}
private IFileNameProvider GetProvider()
{
if (!_fileNameProviders.ContainsKey(_exportSettings.ExportNativesToFileNamedFrom))
return null;
return _fileNameProviders[_exportSettings.ExportNativesToFileNamedFrom];
}
}
}