/// <summary> /// Выгрузить счет /// </summary> /// <param name="pool">Datapool</param> /// <param name="outputDirectory">Каталог для экспорта</param> /// <param name="leaveFiles">Не удалять файлы после упаковки</param> public bool Export(Data.IInvoice pool, string outputDirectory, bool leaveFiles) { Console.WriteLine(); Console.WriteLine(); WriteSectionTitle(invoiceFilename.Section); Lib.XmlExporter xml = new Lib.XmlExporter(); int count = pool.GetPeopleCount(invoiceFilename.Section, invoiceFilename.Subsection); #if DEBUG count = Math.Min(Properties.Settings.Default.DebugSelectionLimit, count); #endif if (count > 0) { string fname = outputDirectory + invoiceFilename.PersonFile + XML; if (!xml.Init(fname) || !ExportPeople(xml, pool, count)) { Console.WriteLine("Ошибка при выгрузке пациентов"); return(false); } fname = outputDirectory + invoiceFilename.InvoiceFile + XML; if (!xml.Init(fname) || !ExportInvoice(xml, pool)) { Console.WriteLine("Ошибка при выгрузке счетов"); return(false); } xml.Close(); if (Lib.Zip.Compress(invoiceFilename)) { if (!leaveFiles) { Lib.Unlinker.RemoveFiles(invoiceFilename, outputDirectory); } Console.WriteLine(string.Format("Файл выгрузки: {0}{1}.zip", outputDirectory, invoiceFilename.InvoiceFile)); return(true); } else { Console.WriteLine("Ошибка при создании архива"); return(false); } } else { Console.WriteLine("Нет данных для выгрузки"); return(true); } }