public int addInvoiceToDbAndSaveContentOnDisk(INVOICE[] invoiceArray, string direction) { using (DatabaseContext dbContext = new DatabaseContext()) { Invoices invoice; foreach (var inv in invoiceArray) { invoice = new Invoices(); invoice.ID = inv.ID; invoice.uuid = inv.UUID; invoice.direction = direction; invoice.issueDate = inv.HEADER.ISSUE_DATE; invoice.profileId = inv.HEADER.PROFILEID; invoice.invoiceType = inv.HEADER.INVOICE_TYPE_CODE; invoice.suplier = inv.HEADER.SUPPLIER; invoice.senderVkn = inv.HEADER.SENDER; invoice.receiverVkn = inv.HEADER.RECEIVER; invoice.cDate = inv.HEADER.CDATE; invoice.envelopeIdentifier = inv.HEADER.ENVELOPE_IDENTIFIER; invoice.status = inv.HEADER.STATUS; invoice.gibStatusCode = inv.HEADER.GIB_STATUS_CODE; invoice.gibStatusDescription = inv.HEADER.GIB_STATUS_DESCRIPTION; invoice.senderAlias = inv.HEADER.FROM; invoice.receiverAlias = inv.HEADER.TO; invoice.folderPath = FolderControl.createInvoiceDocPath(inv.ID, direction, nameof(EI.DocumentType.XML)); byte[] unCompressedContent = Compress.UncompressFile(inv.CONTENT.Value); FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(unCompressedContent), invoice.folderPath); if (direction == nameof(EI.Direction.DRAFT)) { invoice.draftFlag = EI.ActiveOrPasive.Y.ToString(); //servisten cektıklerımız flag Y ☺ } dbContext.invoices.Add(invoice); } var i = dbContext.SaveChanges(); return(i); } }