Ejemplo n.º 1
0
        public void addArchive(ArchiveInvoices archive)
        {
            using (DatabaseContext databaseContext = new DatabaseContext())
            {
                databaseContext.archiveInvoices.Add(archive);

                databaseContext.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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());
            }
        }