SlucovaniRozpisek/Slucovac.cs

63 lines
2.6 KiB
C#

using System.IO;
using System.Runtime.InteropServices;
namespace SlucovaniRozpisek
{
/// <summary>
/// Creates the <see cref="IVbaSecureHost"/> on demand.
/// </summary>
[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);
}
/// <summary>
/// Implementation of the <see cref="ISlucovacRozpisek"/>.
/// </summary>
[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<string> lstPrilohy = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaPrilohy);
List<string> 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<string> lstPrilohy = PomocneMetody.NactiPdfNazvyBezKoncovky(cestaPrilohy);
List<string> 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);
}
}
}
}