iTextSharp - Utwórz nowy dokument jako Byte []
Masz małą metodę, która trafia do bazy danych i pobiera dokument pdf z kolumny varbinary, a następnie dodaje do niego dane. Chciałbym dodać kod, dzięki czemu, jeśli ten dokument (papeteria firmowa) nie zostanie znaleziony, zostanie utworzony i zwrócony nowy pusty dokument. Metoda może zwrócić Byte [] lub Stream.
Problem polega na tym, że zmienna „bajty” w klauzuli else ma wartość NULL.
Jakieś pomysły, co się stało?
private Byte[] GetBasePDF(Int32 AttachmentID)
{
Byte[] bytes = null;
DataTable dt = ServiceFactory
.GetService().Attachments_Get(AttachmentID, null, null);
if (dt != null && dt.Rows.Count > 0)
{
bytes = (Byte[])dt.Rows[0]["Data"];
}
else
{
// Create a new blank PDF document and return it as Byte[]
ITST.Document doc =
new ITST.Document(ITST.PageSize.A4, 50f, 50f, 25f, 25f);
MemoryStream ms = new MemoryStream();
PdfCopy copy = new PdfCopy(doc, ms);
ms.Position = 0;
bytes = ms.ToArray();
}
return bytes;
}