public void addArchive(ArchiveInvoices archive) { using (DatabaseContext databaseContext = new DatabaseContext()) { databaseContext.archiveInvoices.Add(archive); databaseContext.SaveChanges(); } }
public void insertArchiveOnDbFromUbl(InvoiceType invoiceUbl, string xmlPath, bool sendMailWhenReporting) { using (DatabaseContext databaseContext = new DatabaseContext()) { ArchiveInvoices createdArchive = new ArchiveInvoices(); createdArchive.ID = invoiceUbl.ID.Value; createdArchive.uuid = invoiceUbl.UUID.Value; createdArchive.totalAmount = invoiceUbl.LegalMonetaryTotal.PayableAmount.Value; createdArchive.draftFlag = true; createdArchive.issueDate = invoiceUbl.IssueDate.Value; createdArchive.profileId = invoiceUbl.ProfileID.Value; createdArchive.invoiceType = invoiceUbl.InvoiceTypeCode.Value; if (invoiceUbl.AdditionalDocumentReference.Length == 3) //ınternet ıse 2.ındexdekı addDocRef vardır { createdArchive.eArchiveType = invoiceUbl.AdditionalDocumentReference[2].DocumentTypeCode.Value; } else { createdArchive.eArchiveType = nameof(EI.ArchiveType.NORMAL); } createdArchive.sendingType = invoiceUbl.AdditionalDocumentReference[1].DocumentType.Value; createdArchive.senderName = invoiceUbl.AccountingSupplierParty.Party.PartyName.Name.Value; createdArchive.senderVkn = invoiceUbl.AccountingSupplierParty.Party.PartyIdentification.First().ID.Value; //sıfırıncı ındexde tc ya da vkn tutuluyor createdArchive.receiverVkn = invoiceUbl.AccountingCustomerParty.Party.PartyIdentification.First().ID.Value; createdArchive.stateNote = nameof(EI.StateNote.CREATED); createdArchive.status = ""; createdArchive.statusCode = ""; if (sendMailWhenReporting) //mail gonder secılı ıse { createdArchive.receiverMail = invoiceUbl.AccountingCustomerParty.Party.Contact.ElectronicMail.Value; } createdArchive.folderPath = xmlPath; databaseContext.archiveInvoices.Add(createdArchive); databaseContext.SaveChanges(); } }
public int addArchiveToDbAndSaveContentOnDisk(EARCHIVEINV[] archiveArr) { ArchiveInvoices archive; using (DatabaseContext databaseContext = new DatabaseContext()) { foreach (var arc in archiveArr) { archive = new ArchiveInvoices(); //bu row uuid degerı dbye daha once eklenmemısse if (databaseContext.archiveInvoices.Find(archive.uuid) == null) { archive.ID = arc.HEADER.INVOICE_ID; archive.uuid = arc.HEADER.UUID; archive.totalAmount = Convert.ToDecimal(arc.HEADER.PAYABLE_AMOUNT); archive.issueDate = Convert.ToDateTime(arc.HEADER.ISSUE_DATE); archive.profileId = arc.HEADER.PROFILE_ID; archive.invoiceType = arc.HEADER.INVOICE_TYPE; archive.sendingType = arc.HEADER.SENDING_TYPE; archive.eArchiveType = arc.HEADER.EARCHIVE_TYPE; archive.senderName = arc.HEADER.SENDER_NAME; archive.senderVkn = arc.HEADER.SENDER_IDENTIFIER; archive.receiverVkn = arc.HEADER.CUSTOMER_IDENTIFIER; archive.status = arc.HEADER.STATUS; archive.statusCode = arc.HEADER.STATUS_CODE; archive.currencyCode = arc.HEADER.CURRENCY_CODE; archive.folderPath = FolderControl.inboxFolderArchive + archive.ID + "." + nameof(EI.DocumentType.XML); FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(Compress.UncompressFile(arc.CONTENT.Value)), archive.folderPath); databaseContext.archiveInvoices.Add(archive); } } return(databaseContext.SaveChanges()); } }