using System.IO; using System.Runtime.InteropServices; namespace SlucovaniRozpisek { /// /// Creates the on demand. /// [Guid("6C356D2C-614C-4371-A11C-D93E40E096FB")] [InterfaceType(ComInterfaceType.InterfaceIsDual)] [ComVisible(true)] public interface ISlucovacRozpisek { [DispId(1)] void PripravaRozpisky(string cestaPrilohy, string cestaRozpisky, out int parovePrilohy, out int neparovePrilohy, out int neparoveRozpisky); [DispId(2)] void SlucRozpisky(string cestaPrilohy, string cestaRozpisky, string cestaVystup); } /// /// Implementation of the . /// [ComVisible(true)] [Guid("ABD284DF-509C-4E0F-9D19-96A3416738D4")] [ClassInterface(ClassInterfaceType.None)] public sealed class SlucovacRozpisek : StandardOleMarshalObject, ISlucovacRozpisek { public void PripravaRozpisky(string cestaPrilohy, string cestaRozpisky, out int parovePrilohy, out int neparovePrilohy, out int neparoveRozpisky) { List lstPrilohy = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaPrilohy); List lstRozpisky = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaRozpisky); PdfRozdelovac pdfka = new PdfRozdelovac(lstPrilohy, lstRozpisky); parovePrilohy = pdfka.ParovePrilohy.Count; neparovePrilohy = pdfka.NeparovePrilohy.Count; neparoveRozpisky = pdfka.NeparoveRozpisky.Count; } public void SlucRozpisky(string cestaPrilohy, string cestaRozpisky, string cestaVystup) { List lstPrilohy = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaPrilohy); List lstRozpisky = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaRozpisky); PdfRozdelovac pdfka = new PdfRozdelovac(lstPrilohy, lstRozpisky); foreach (string pdf in pdfka.NeparovePrilohy) { PomocneMetody.KopirujSoubor(Path.Combine(cestaPrilohy, pdf + ".pdf"), Path.Combine(cestaVystup, pdf + ".pdf"), true); } foreach (string pdf in pdfka.NeparoveRozpisky) { PomocneMetody.KopirujSoubor(Path.Combine(cestaRozpisky, pdf + ".pdf"), Path.Combine(cestaVystup, pdf + ".pdf"), true); } foreach (string pdf in pdfka.ParovePrilohy) { PomocneMetody.SloucitPdf(Path.Combine(cestaPrilohy, pdf + ".pdf"), Path.Combine(cestaRozpisky, pdf + "_rozpiska.pdf"), Path.Combine(cestaVystup, pdf + ".pdf"), true); } } } }