Esempio n. 1
0
        public TOutput Convert(FileExtension inputExtension, TInput content, FileExtension outputExtension)
        {
            IDocumentInput <TInput> input = InputCatalog.FirstOrDefault(x => x.FileExtension == inputExtension);

            if (input == null)
            {
                return(default(TOutput));
            }

            IDocumentOutput <TOutput> output = OutputCatalog.FirstOrDefault(x => x.FileExtension == outputExtension);

            return(output != null?output.Convert(input.Convert(content)) : default(TOutput));
        }
Esempio n. 2
0
        public IEnumerable <TOutput> Convert(FileExtension inputExtension, TInput content, IEnumerable <FileExtension> outputExtensions)
        {
            IDocumentInput <TInput> input = InputCatalog.FirstOrDefault(x => x.FileExtension == inputExtension);

            if (input == null)
            {
                return(Enumerable.Empty <TOutput>());
            }

            IDocumentNode document = input.Convert(content);

            return(outputExtensions.Select(e => OutputCatalog.FirstOrDefault(x => x.FileExtension == e))
                   .Select(o => o != null ? o.Convert(document) : default(TOutput)));
        }