Vereinsmeisterschaften  22aa7800eae54b428d40e835886cefe1fdefdfdf
This is a software that can be used to manage the internal competition of the swimming club Illertissen called "Vereinsmeisterschaften".
Loading...
Searching...
No Matches
DocumentFileConverterSelector.cs
2{
7 {
8 private readonly IReadOnlyList<IDocumentFileConverter> _converters;
9
14 public DocumentFileConverterSelector(IEnumerable<IDocumentFileConverter> converters)
15 {
16 _converters = converters.ToList();
17 }
18
20 public IDocumentFileConverter GetConverter(string docxFile, List<IDocumentFileConverter> ignoreConverters)
21 {
22 // Create a list with all useable converters (not in ignore list and available)
23 List<IDocumentFileConverter> useableConverterList = _converters.Except(ignoreConverters).Where(c => c.IsAvailable).ToList();
24
25 // Choose the preferred converter (available and the first one that states that the document was created with this converter)
26 IDocumentFileConverter preferred = useableConverterList.FirstOrDefault(c => c.IsDocxCreateWithThisConverter(docxFile));
27 if (preferred != null)
28 {
29 return preferred;
30 }
31
32 // Fallback: use first available converter
33 IDocumentFileConverter fallback = useableConverterList.FirstOrDefault();
34 if (fallback != null)
35 {
36 return fallback;
37 }
38 return null;
39 }
40 }
41}
IDocumentFileConverter GetConverter(string docxFile, List< IDocumentFileConverter > ignoreConverters)
Select the correct IDocumentFileConverter depending on the .docx file creator and the available conve...
DocumentFileConverterSelector(IEnumerable< IDocumentFileConverter > converters)
Constructor for the DocumentFileConverterSelector